home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1990-06-05 | 19.1 KB | [ TEXT/KAHL]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
Confidence Program Detection Match Type Support
66%
dexvert
Compact Compressed (Unix) (archive/compact)
ext
Supported
10%
dexvert
MacBinary (archive/macBinary)
fallback
Supported
1%
dexvert
Text File (text/txt)
fallback
Supported
100%
file
MacBinary II, inited, Tue Jun 5 11:29:56 1990, modified Tue Jun 5 11:29:56 1990, creator Think C, type ASCII, 19045 bytes "BuildISO.c" magic text fragment for file(1) cmd, 1st line "#include <stdio.h>", 2nd line "#include <ctype.h>", 3rd line "#include <string.h>", 4th line "#include <FileMgr.h>", 5th line "#include <pascal.h>", at 0x4ae5 286 bytes resource magic text fragment for file(1) cmd, 1st line "#include <stdio.h>", 2nd line "#include <ctype.h>", 3rd line "#include <string.h>", 4th line "#include <FileMgr.h>", 5th line "#include <pascal.h>"
default (weak)
99%
file
data
default
74%
TrID
Macintosh plain text (MacBinary)
default
25%
TrID
MacBinary 2
default (weak)
100%
siegfried
fmt/1762 MacBinary (II)
default
100%
lsar
MacBinary
default
id metadata key value macFileType [ TEXT] macFileCreator [ KAHL]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 0a 42 75 69 6c 64 49 | 53 4f 2e 63 00 00 00 00 |..BuildI|SO.c....| |00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 54 45 58 54 4b 41 48 | 4c 01 00 00 00 00 c0 00 |.TEXTKAH|L.......| |00000050| 00 00 00 00 00 4a 65 00 | 00 01 1e a2 91 80 74 a2 |.....Je.|......t.| |00000060| 91 80 74 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..t.....|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 1e d8 00 00 |........|........| |00000080| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 64 69 6f 2e |#include| <stdio.| |00000090| 68 3e 0d 23 69 6e 63 6c | 75 64 65 20 3c 63 74 79 |h>.#incl|ude <cty| |000000a0| 70 65 2e 68 3e 0d 23 69 | 6e 63 6c 75 64 65 20 3c |pe.h>.#i|nclude <| |000000b0| 73 74 72 69 6e 67 2e 68 | 3e 0d 23 69 6e 63 6c 75 |string.h|>.#inclu| |000000c0| 64 65 20 3c 46 69 6c 65 | 4d 67 72 2e 68 3e 0d 23 |de <File|Mgr.h>.#| |000000d0| 69 6e 63 6c 75 64 65 20 | 3c 70 61 73 63 61 6c 2e |include |<pascal.| |000000e0| 68 3e 0d 23 69 6e 63 6c | 75 64 65 20 3c 4f 53 55 |h>.#incl|ude <OSU| |000000f0| 74 69 6c 2e 68 3e 0d 0d | 2f 2a 2a 2a 2a 2a 2a 2a |til.h>..|/*******| |00000100| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000110| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000120| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000130| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000140| 2a 0d 20 2a 0d 20 2a 09 | a9 20 43 6f 70 79 72 69 |*. *. *.|. Copyri| |00000150| 67 68 74 20 31 39 38 38 | 2c 20 31 39 39 30 20 41 |ght 1988|, 1990 A| |00000160| 70 70 6c 65 20 43 6f 6d | 70 75 74 65 72 2c 20 49 |pple Com|puter, I| |00000170| 6e 63 2e 20 20 41 6c 6c | 20 72 69 67 68 74 73 20 |nc. All| rights | |00000180| 72 65 73 65 72 76 65 64 | 2e 0d 20 2a 0d 20 2a 20 |reserved|.. *. * | |00000190| 20 50 72 6f 67 72 61 6d | 3a 09 09 42 75 69 6c 64 | Program|:..Build| |000001a0| 49 53 4f 0d 20 2a 0d 20 | 2a 20 20 50 75 72 70 6f |ISO. *. |* Purpo| |000001b0| 73 65 3a 09 09 62 75 69 | 6c 64 20 61 6e 20 49 53 |se:..bui|ld an IS| |000001c0| 4f 20 39 36 36 30 20 66 | 6c 6f 70 70 79 0d 20 2a |O 9660 f|loppy. *| |000001d0| 0d 20 2a 20 20 44 65 73 | 63 72 69 70 74 69 6f 6e |. * Des|cription| |000001e0| 3a 09 54 72 79 20 74 6f | 20 62 75 69 6c 64 20 61 |:.Try to| build a| |000001f0| 20 49 53 4f 20 39 36 36 | 30 20 66 6c 6f 70 70 79 | ISO 966|0 floppy| |00000200| 20 64 69 73 63 2c 20 69 | 6e 74 65 72 61 63 74 69 | disc, i|nteracti| |00000210| 76 65 6c 79 2e 0d 20 2a | 09 09 09 09 09 43 75 72 |vely.. *|.....Cur| |00000220| 72 65 6e 74 6c 79 20 6f | 6e 6c 79 20 62 75 69 6c |rently o|nly buil| |00000230| 64 73 20 74 68 65 20 50 | 72 69 6d 61 72 79 20 56 |ds the P|rimary V| |00000240| 6f 6c 75 6d 65 20 44 65 | 73 63 72 69 70 74 6f 72 |olume De|scriptor| |00000250| 2e 0d 20 2a 0d 20 2a 20 | 20 52 65 76 69 73 69 6f |.. *. * | Revisio| |00000260| 6e 20 48 69 73 74 6f 72 | 79 3a 0d 20 2a 09 31 20 |n Histor|y:. *.1 | |00000270| 4a 75 6c 79 20 38 38 09 | 4f 72 69 67 69 6e 61 6c |July 88.|Original| |00000280| 20 56 65 72 73 69 6f 6e | 20 66 6f 72 20 74 68 65 | Version| for the| |00000290| 20 4d 61 63 69 6e 74 6f | 73 68 20 62 79 20 42 72 | Macinto|sh by Br| |000002a0| 69 61 6e 20 42 65 63 68 | 74 65 6c 2c 0d 20 2a 09 |ian Bech|tel,. *.| |000002b0| 09 09 09 41 70 70 6c 65 | 20 43 6f 6d 70 75 74 65 |...Apple| Compute| |000002c0| 72 2c 20 49 6e 63 2e 0d | 20 2a 09 41 70 72 69 6c |r, Inc..| *.April| |000002d0| 20 39 30 09 4d 6f 64 69 | 66 69 65 64 20 66 6f 72 | 90.Modi|fied for| |000002e0| 20 64 20 65 20 76 20 65 | 20 6c 20 6f 20 70 20 61 | d e v e| l o p a| |000002f0| 6e 64 20 54 68 69 6e 6b | 20 43 20 34 2e 30 0d 20 |nd Think| C 4.0. | |00000300| 2a 0d 20 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |*. *****|********| |00000310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000320| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000330| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000340| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2f 0d 0d 23 69 |********|***/..#i| |00000350| 6e 63 6c 75 64 65 20 22 | 48 69 67 68 53 69 65 72 |nclude "|HighSier| |00000360| 72 61 2e 68 22 0d 23 69 | 6e 63 6c 75 64 65 20 22 |ra.h".#i|nclude "| |00000370| 42 75 69 6c 64 49 53 4f | 2e 68 22 0d 0d 23 64 65 |BuildISO|.h"..#de| |00000380| 66 69 6e 65 09 46 4c 4f | 50 50 59 5f 53 49 5a 45 |fine.FLO|PPY_SIZE| |00000390| 09 30 78 31 38 36 09 09 | 2f 2a 20 73 69 7a 65 20 |.0x186..|/* size | |000003a0| 69 6e 20 32 6b 20 62 6c | 6f 63 6b 73 20 6f 66 20 |in 2k bl|ocks of | |000003b0| 61 20 38 30 30 6b 20 66 | 6c 6f 70 70 79 20 2a 2f |a 800k f|loppy */| |000003c0| 0d 0d 53 74 72 32 35 35 | 09 09 09 6e 75 6c 6c 53 |..Str255|...nullS| |000003d0| 74 72 20 3d 20 22 5c 70 | 22 3b 0d 53 74 72 32 35 |tr = "\p|";.Str25| |000003e0| 35 09 09 09 72 6f 6f 74 | 4e 61 6d 65 20 3d 20 22 |5...root|Name = "| |000003f0| 5c 70 5c 30 30 30 22 3b | 0d 53 74 72 32 35 35 09 |\p\000";|.Str255.| |00000400| 09 09 70 61 72 65 6e 74 | 4e 61 6d 65 20 3d 20 22 |..parent|Name = "| |00000410| 5c 70 5c 30 30 31 22 3b | 0d 0d 2f 2a 2a 2a 2a 2a |\p\001";|../*****| |00000420| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000430| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000440| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000460| 2a 2a 2a 0d 20 2a 0d 20 | 2a 20 20 46 75 6e 63 74 |***. *. |* Funct| |00000470| 69 6f 6e 3a 09 09 43 72 | 65 61 74 65 50 56 44 0d |ion:..Cr|eatePVD.| |00000480| 20 2a 0d 20 2a 20 20 50 | 75 72 70 6f 73 65 3a 09 | *. * P|urpose:.| |00000490| 09 63 72 65 61 74 65 20 | 74 68 65 20 63 6f 6e 74 |.create |the cont| |000004a0| 65 6e 74 73 20 6f 66 20 | 74 68 65 20 50 72 69 6d |ents of |the Prim| |000004b0| 61 72 79 20 56 6f 6c 75 | 6d 65 20 44 65 73 63 72 |ary Volu|me Descr| |000004c0| 69 70 74 6f 72 2e 0d 20 | 2a 0d 20 2a 20 20 52 65 |iptor.. |*. * Re| |000004d0| 74 75 72 6e 73 3a 09 09 | 76 6f 69 64 0d 20 2a 0d |turns:..|void. *.| |000004e0| 20 2a 20 20 53 69 64 65 | 20 45 66 66 65 63 74 73 | * Side| Effects| |000004f0| 3a 09 61 64 64 73 20 74 | 6f 20 74 68 65 20 6f 75 |:.adds t|o the ou| |00000500| 74 70 75 74 20 66 69 6c | 65 2e 0d 20 2a 0d 20 2a |tput fil|e.. *. *| |00000510| 20 20 44 65 73 63 72 69 | 70 74 69 6f 6e 3a 09 67 | Descri|ption:.g| |00000520| 6f 20 74 68 72 6f 75 67 | 68 20 61 6c 6c 20 74 68 |o throug|h all th| |00000530| 65 20 70 72 69 6d 61 72 | 79 20 76 6f 6c 75 6d 65 |e primar|y volume| |00000540| 20 64 65 73 63 72 69 70 | 74 6f 72 2c 20 73 68 6f | descrip|tor, sho| |00000550| 77 69 6e 67 0d 20 2a 09 | 09 09 09 09 65 61 63 68 |wing. *.|....each| |00000560| 20 66 69 65 6c 64 20 69 | 6e 20 61 6c 6c 20 69 74 | field i|n all it| |00000570| 27 73 20 67 6c 6f 72 79 | 2e 20 20 57 65 20 64 6f |'s glory|. We do| |00000580| 6e 27 74 20 62 6f 74 68 | 65 72 20 73 68 6f 77 69 |n't both|er showi| |00000590| 6e 67 0d 20 2a 09 09 09 | 09 09 74 68 65 20 65 78 |ng. *...|..the ex| |000005a0| 74 72 61 20 62 6c 61 6e | 6b 73 20 61 74 20 74 68 |tra blan|ks at th| |000005b0| 65 20 65 6e 64 20 6f 66 | 20 65 61 63 68 20 73 74 |e end of| each st| |000005c0| 72 69 6e 67 20 66 69 65 | 6c 64 2e 0d 20 2a 0d 20 |ring fie|ld.. *. | |000005d0| 2a 0d 20 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |*. *****|********| |000005e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000005f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000600| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00000610| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2f 0d 0d 4f 53 |********|***/..OS| |00000620| 45 72 72 0d 43 72 65 61 | 74 65 50 56 44 28 72 65 |Err.Crea|tePVD(re| |00000630| 66 65 72 65 6e 63 65 4e | 75 6d 62 65 72 29 0d 73 |ferenceN|umber).s| |00000640| 68 6f 72 74 09 72 65 66 | 65 72 65 6e 63 65 4e 75 |hort.ref|erenceNu| |00000650| 6d 62 65 72 3b 0d 7b 0d | 09 50 56 44 09 09 70 3b |mber;.{.|.PVD..p;| |00000660| 0d 09 73 68 6f 72 74 09 | 69 3b 0d 09 4f 53 45 72 |..short.|i;..OSEr| |00000670| 72 09 72 65 73 75 6c 74 | 3b 0d 09 6c 6f 6e 67 09 |r.result|;..long.| |00000680| 6f 66 66 73 65 74 3b 0d | 09 63 68 61 72 09 76 6f |offset;.|.char.vo| |00000690| 6c 49 44 5b 33 33 5d 3b | 0d 09 42 6f 6f 6c 65 61 |lID[33];|..Boolea| |000006a0| 6e 09 67 6f 4f 6e 3b 0d | 09 63 68 61 72 09 65 72 |n.goOn;.|.char.er| |000006b0| 72 6f 72 53 74 72 69 6e | 67 5b 32 35 35 5d 3b 0d |rorStrin|g[255];.| |000006c0| 09 0d 09 43 6c 65 61 72 | 4f 75 74 28 28 63 68 61 |...Clear|Out((cha| |000006d0| 72 20 2a 29 26 70 2c 20 | 73 69 7a 65 6f 66 28 70 |r *)&p, |sizeof(p| |000006e0| 29 29 3b 0d 09 70 2e 56 | 44 54 79 70 65 20 3d 20 |));..p.V|DType = | |000006f0| 31 3b 0d 09 70 2e 56 53 | 53 74 64 49 64 5b 30 5d |1;..p.VS|StdId[0]| |00000700| 20 3d 20 27 43 27 3b 0d | 09 70 2e 56 53 53 74 64 | = 'C';.|.p.VSStd| |00000710| 49 64 5b 31 5d 20 3d 20 | 27 44 27 3b 0d 09 70 2e |Id[1] = |'D';..p.| |00000720| 56 53 53 74 64 49 64 5b | 32 5d 20 3d 20 27 30 27 |VSStdId[|2] = '0'| |00000730| 3b 0d 09 70 2e 56 53 53 | 74 64 49 64 5b 33 5d 20 |;..p.VSS|tdId[3] | |00000740| 3d 20 27 30 27 3b 0d 09 | 70 2e 56 53 53 74 64 49 |= '0';..|p.VSStdI| |00000750| 64 5b 34 5d 20 3d 20 27 | 31 27 3b 0d 09 70 2e 56 |d[4] = '|1';..p.V| |00000760| 53 53 74 64 56 65 72 73 | 69 6f 6e 20 3d 20 31 3b |SStdVers|ion = 1;| |00000770| 0d 09 43 68 61 72 43 6f | 70 79 28 70 2e 73 79 73 |..CharCo|py(p.sys| |00000780| 74 65 6d 49 64 65 6e 74 | 69 66 69 65 72 2c 20 22 |temIdent|ifier, "| |00000790| 41 70 70 6c 65 20 43 6f | 6d 70 75 74 65 72 2c 20 |Apple Co|mputer, | |000007a0| 49 6e 63 2e 2c 20 54 79 | 70 65 3a 30 30 30 31 22 |Inc., Ty|pe:0001"| |000007b0| 2c 20 73 69 7a 65 6f 66 | 28 70 2e 73 79 73 74 65 |, sizeof|(p.syste| |000007c0| 6d 49 64 65 6e 74 69 66 | 69 65 72 29 29 3b 0d 0d |mIdentif|ier));..| |000007d0| 09 67 6f 4f 6e 20 3d 20 | 41 73 6b 46 6f 72 53 74 |.goOn = |AskForSt| |000007e0| 72 69 6e 67 28 22 5c 70 | 57 68 61 74 20 64 6f 20 |ring("\p|What do | |000007f0| 79 6f 75 20 77 61 6e 74 | 20 74 6f 20 63 61 6c 6c |you want| to call| |00000800| 20 74 68 69 73 20 76 6f | 6c 75 6d 65 3f 20 28 33 | this vo|lume? (3| |00000810| 32 20 63 68 61 72 61 63 | 74 65 72 73 20 6f 72 20 |2 charac|ters or | |00000820| 6c 65 73 73 29 22 2c 20 | 76 6f 6c 49 44 29 3b 0d |less)", |volID);.| |00000830| 09 69 66 20 28 67 6f 4f | 6e 20 3d 3d 20 66 61 6c |.if (goO|n == fal| |00000840| 73 65 29 0d 09 09 72 65 | 74 75 72 6e 20 2d 31 3b |se)...re|turn -1;| |00000850| 0d 0d 09 4e 6f 72 6d 61 | 6c 69 7a 65 56 6f 6c 75 |...Norma|lizeVolu| |00000860| 6d 65 4e 61 6d 65 28 76 | 6f 6c 49 44 29 3b 0d 09 |meName(v|olID);..| |00000870| 43 68 61 72 43 6f 70 79 | 28 70 2e 76 6f 6c 75 6d |CharCopy|(p.volum| |00000880| 65 49 64 65 6e 74 69 66 | 69 65 72 2c 20 76 6f 6c |eIdentif|ier, vol| |00000890| 49 44 2c 20 73 69 7a 65 | 6f 66 28 70 2e 76 6f 6c |ID, size|of(p.vol| |000008a0| 75 6d 65 49 64 65 6e 74 | 69 66 69 65 72 29 29 3b |umeIdent|ifier));| |000008b0| 0d 0d 0d 09 70 2e 6c 73 | 62 56 6f 6c 75 6d 65 53 |....p.ls|bVolumeS| |000008c0| 70 61 63 65 53 69 7a 65 | 20 3d 20 4e 6f 72 6d 61 |paceSize| = Norma| |000008d0| 6c 69 7a 65 4c 6f 6e 67 | 28 28 6c 6f 6e 67 29 46 |lizeLong|((long)F| |000008e0| 4c 4f 50 50 59 5f 53 49 | 5a 45 29 3b 0d 09 70 2e |LOPPY_SI|ZE);..p.| |000008f0| 6d 73 62 56 6f 6c 75 6d | 65 53 70 61 63 65 53 69 |msbVolum|eSpaceSi| |00000900| 7a 65 20 3d 20 28 6c 6f | 6e 67 29 46 4c 4f 50 50 |ze = (lo|ng)FLOPP| |00000910| 59 5f 53 49 5a 45 3b 0d | 09 70 2e 6c 73 62 56 6f |Y_SIZE;.|.p.lsbVo| |00000920| 6c 75 6d 65 53 65 74 53 | 69 7a 65 20 3d 20 4e 6f |lumeSetS|ize = No| |00000930| 72 6d 61 6c 69 7a 65 57 | 6f 72 64 28 46 4c 4f 50 |rmalizeW|ord(FLOP| |00000940| 50 59 5f 53 49 5a 45 29 | 3b 0d 09 70 2e 6d 73 62 |PY_SIZE)|;..p.msb| |00000950| 56 6f 6c 75 6d 65 53 65 | 74 53 69 7a 65 20 3d 20 |VolumeSe|tSize = | |00000960| 46 4c 4f 50 50 59 5f 53 | 49 5a 45 3b 0d 09 70 2e |FLOPPY_S|IZE;..p.| |00000970| 6c 73 62 56 6f 6c 75 6d | 65 53 65 74 53 65 71 75 |lsbVolum|eSetSequ| |00000980| 65 6e 63 65 4e 75 6d 62 | 65 72 20 3d 20 4e 6f 72 |enceNumb|er = Nor| |00000990| 6d 61 6c 69 7a 65 57 6f | 72 64 28 31 29 3b 0d 09 |malizeWo|rd(1);..| |000009a0| 70 2e 6d 73 62 56 6f 6c | 75 6d 65 53 65 74 53 65 |p.msbVol|umeSetSe| |000009b0| 71 75 65 6e 63 65 4e 75 | 6d 62 65 72 20 3d 20 31 |quenceNu|mber = 1| |000009c0| 3b 0d 09 0d 09 70 2e 6c | 73 62 4c 6f 67 69 63 61 |;....p.l|sbLogica| |000009d0| 6c 42 6c 6f 63 6b 53 69 | 7a 65 20 3d 20 4e 6f 72 |lBlockSi|ze = Nor| |000009e0| 6d 61 6c 69 7a 65 57 6f | 72 64 28 43 44 42 4c 4b |malizeWo|rd(CDBLK| |000009f0| 53 49 5a 45 29 3b 0d 09 | 70 2e 6d 73 62 4c 6f 67 |SIZE);..|p.msbLog| |00000a00| 69 63 61 6c 42 6c 6f 63 | 6b 53 69 7a 65 20 3d 20 |icalBloc|kSize = | |00000a10| 43 44 42 4c 4b 53 49 5a | 45 3b 0d 09 09 09 09 0d |CDBLKSIZ|E;......| |00000a20| 0d 09 70 2e 6c 73 62 50 | 61 74 68 54 61 62 6c 65 |..p.lsbP|athTable| |00000a30| 53 69 7a 65 20 3d 20 4e | 6f 72 6d 61 6c 69 7a 65 |Size = N|ormalize| |00000a40| 4c 6f 6e 67 28 50 41 54 | 48 54 42 4c 53 49 5a 45 |Long(PAT|HTBLSIZE| |00000a50| 29 3b 0d 09 70 2e 6d 73 | 62 50 61 74 68 54 61 62 |);..p.ms|bPathTab| |00000a60| 6c 65 53 69 7a 65 20 3d | 20 50 41 54 48 54 42 4c |leSize =| PATHTBL| |00000a70| 53 49 5a 45 3b 0d 09 70 | 2e 6c 73 62 50 61 74 68 |SIZE;..p|.lsbPath| |00000a80| 54 61 62 6c 65 31 20 3d | 20 4e 6f 72 6d 61 6c 69 |Table1 =| Normali| |00000a90| 7a 65 4c 6f 6e 67 28 4c | 53 42 50 41 54 48 29 3b |zeLong(L|SBPATH);| |00000aa0| 0d 09 70 2e 6d 73 62 50 | 61 74 68 54 61 62 6c 65 |..p.msbP|athTable| |00000ab0| 31 20 3d 20 4d 53 42 50 | 41 54 48 3b 0d 09 0d 09 |1 = MSBP|ATH;....| |00000ac0| 70 2e 6c 73 62 50 61 74 | 68 54 61 62 6c 65 32 20 |p.lsbPat|hTable2 | |00000ad0| 3d 20 30 4c 3b 0d 09 70 | 2e 6d 73 62 50 61 74 68 |= 0L;..p|.msbPath| |00000ae0| 54 61 62 6c 65 32 20 3d | 20 30 4c 3b 0d 09 0d 09 |Table2 =| 0L;....| |00000af0| 2f 2a 20 45 78 65 72 63 | 69 73 65 20 66 6f 72 20 |/* Exerc|ise for | |00000b00| 72 65 61 64 65 72 3a 20 | 67 65 74 20 74 68 65 20 |reader: |get the | |00000b10| 74 69 6d 65 20 76 69 61 | 20 47 65 74 54 69 6d 65 |time via| GetTime| |00000b20| 28 29 20 61 6e 64 20 63 | 6f 6e 76 65 72 74 0d 09 |() and c|onvert..| |00000b30| 2a 2a 20 74 6f 20 73 74 | 72 69 6e 67 20 6f 66 20 |** to st|ring of | |00000b40| 74 68 65 20 66 6f 72 6d | 61 74 20 73 68 6f 77 6e |the form|at shown| |00000b50| 20 62 65 6c 6f 77 20 66 | 6f 72 20 74 68 65 73 65 | below f|or these| |00000b60| 20 73 74 72 61 6e 67 65 | 20 64 61 74 65 73 2e 0d | strange| dates..| |00000b70| 09 2a 2a 20 55 73 65 20 | 74 68 61 74 20 64 61 74 |.** Use |that dat| |00000b80| 65 20 61 6e 64 20 74 69 | 6d 65 20 74 6f 20 66 69 |e and ti|me to fi| |00000b90| 6c 6c 20 74 68 65 20 76 | 61 72 69 6f 75 73 20 76 |ll the v|arious v| |00000ba0| 6f 6c 75 6d 65 20 64 61 | 74 65 20 66 69 65 6c 64 |olume da|te field| |00000bb0| 73 2e 0d 09 2a 2a 20 54 | 68 65 20 64 61 74 65 20 |s...** T|he date | |00000bc0| 73 68 6f 77 6e 20 69 73 | 20 6d 79 20 64 61 75 67 |shown is| my daug| |00000bd0| 68 74 65 72 27 73 20 62 | 69 72 74 68 20 64 61 74 |hter's b|irth dat| |00000be0| 65 20 61 6e 64 20 74 69 | 6d 65 2e 2e 2e 0d 09 2a |e and ti|me.....*| |00000bf0| 2f 0d 09 43 68 61 72 43 | 6f 70 79 28 70 2e 76 6f |/..CharC|opy(p.vo| |00000c00| 6c 75 6d 65 43 72 65 61 | 74 69 6f 6e 2c 20 22 31 |lumeCrea|tion, "1| |00000c10| 39 38 37 30 39 31 34 30 | 36 30 31 30 30 30 30 30 |98709140|60100000| |00000c20| 22 2c 20 73 69 7a 65 6f | 66 28 70 2e 76 6f 6c 75 |", sizeo|f(p.volu| |00000c30| 6d 65 43 72 65 61 74 69 | 6f 6e 29 29 3b 0d 09 43 |meCreati|on));..C| |00000c40| 68 61 72 43 6f 70 79 28 | 70 2e 76 6f 6c 75 6d 65 |harCopy(|p.volume| |00000c50| 4d 6f 64 69 66 69 63 61 | 74 69 6f 6e 2c 20 22 31 |Modifica|tion, "1| |00000c60| 39 38 37 30 39 31 34 30 | 36 30 31 30 30 30 30 30 |98709140|60100000| |00000c70| 22 2c 20 73 69 7a 65 6f | 66 28 70 2e 76 6f 6c 75 |", sizeo|f(p.volu| |00000c80| 6d 65 4d 6f 64 69 66 69 | 63 61 74 69 6f 6e 29 29 |meModifi|cation))| |00000c90| 3b 0d 09 43 68 61 72 43 | 6f 70 79 28 70 2e 76 6f |;..CharC|opy(p.vo| |00000ca0| 6c 75 6d 65 45 78 70 69 | 72 61 74 69 6f 6e 2c 20 |lumeExpi|ration, | |00000cb0| 22 30 30 30 30 30 30 30 | 30 30 30 30 30 30 30 30 |"0000000|00000000| |00000cc0| 30 30 22 2c 20 73 69 7a | 65 6f 66 28 70 2e 76 6f |00", siz|eof(p.vo| |00000cd0| 6c 75 6d 65 45 78 70 69 | 72 61 74 69 6f 6e 29 29 |lumeExpi|ration))| |00000ce0| 3b 0d 09 43 68 61 72 43 | 6f 70 79 28 70 2e 76 6f |;..CharC|opy(p.vo| |00000cf0| 6c 75 6d 65 45 66 66 65 | 63 74 69 76 65 2c 20 22 |lumeEffe|ctive, "| |00000d00| 31 39 38 37 30 39 31 34 | 30 36 30 31 30 30 30 30 |19870914|06010000| |00000d10| 30 22 2c 20 73 69 7a 65 | 6f 66 28 70 2e 76 6f 6c |0", size|of(p.vol| |00000d20| 75 6d 65 45 66 66 65 63 | 74 69 76 65 29 29 3b 0d |umeEffec|tive));.| |00000d30| 0d 09 70 2e 46 69 6c 65 | 53 74 72 75 63 74 75 72 |..p.File|Structur| |00000d40| 65 53 74 61 6e 64 61 72 | 64 56 65 72 73 69 6f 6e |eStandar|dVersion| |00000d50| 20 3d 20 31 3b 0d 09 0d | 09 53 70 61 63 65 4f 75 | = 1;...|.SpaceOu| |00000d60| 74 28 70 2e 76 6f 6c 75 | 6d 65 53 65 74 49 64 65 |t(p.volu|meSetIde| |00000d70| 6e 74 69 66 69 65 72 2c | 20 73 69 7a 65 6f 66 28 |ntifier,| sizeof(| |00000d80| 70 2e 76 6f 6c 75 6d 65 | 53 65 74 49 64 65 6e 74 |p.volume|SetIdent| |00000d90| 69 66 69 65 72 29 29 3b | 0d 09 53 70 61 63 65 4f |ifier));|..SpaceO| |00000da0| 75 74 28 70 2e 70 75 62 | 6c 69 73 68 65 72 49 64 |ut(p.pub|lisherId| |00000db0| 65 6e 74 69 66 69 65 72 | 2c 20 73 69 7a 65 6f 66 |entifier|, sizeof| |00000dc0| 28 70 2e 70 75 62 6c 69 | 73 68 65 72 49 64 65 6e |(p.publi|sherIden| |00000dd0| 74 69 66 69 65 72 29 29 | 3b 0d 09 53 70 61 63 65 |tifier))|;..Space| |00000de0| 4f 75 74 28 70 2e 64 61 | 74 61 50 72 65 70 61 72 |Out(p.da|taPrepar| |00000df0| 65 72 49 64 65 6e 74 69 | 66 69 65 72 2c 20 73 69 |erIdenti|fier, si| |00000e00| 7a 65 6f 66 28 70 2e 64 | 61 74 61 50 72 65 70 61 |zeof(p.d|ataPrepa| |00000e10| 72 65 72 49 64 65 6e 74 | 69 66 69 65 72 29 29 3b |rerIdent|ifier));| |00000e20| 0d 09 53 70 61 63 65 4f | 75 74 28 70 2e 61 70 70 |..SpaceO|ut(p.app| |00000e30| 6c 69 63 61 74 69 6f 6e | 49 64 65 6e 74 69 66 69 |lication|Identifi| |00000e40| 65 72 2c 20 73 69 7a 65 | 6f 66 28 70 2e 61 70 70 |er, size|of(p.app| |00000e50| 6c 69 63 61 74 69 6f 6e | 49 64 65 6e 74 69 66 69 |lication|Identifi| |00000e60| 65 72 29 29 3b 0d 09 53 | 70 61 63 65 4f 75 74 28 |er));..S|paceOut(| |00000e70| 70 2e 63 6f 70 79 72 69 | 67 68 74 46 69 6c 65 49 |p.copyri|ghtFileI| |00000e80| 64 65 6e 74 69 66 69 65 | 72 2c 20 73 69 7a 65 6f |dentifie|r, sizeo| |00000e90| 66 28 70 2e 63 6f 70 79 | 72 69 67 68 74 46 69 6c |f(p.copy|rightFil| |00000ea0| 65 49 64 65 6e 74 69 66 | 69 65 72 29 29 3b 0d 09 |eIdentif|ier));..| |00000eb0| 53 70 61 63 65 4f 75 74 | 28 70 2e 61 62 73 74 72 |SpaceOut|(p.abstr| |00000ec0| 61 63 74 46 69 6c 65 49 | 64 65 6e 74 69 66 69 65 |actFileI|dentifie| |00000ed0| 72 2c 20 73 69 7a 65 6f | 66 28 70 2e 61 62 73 74 |r, sizeo|f(p.abst| |00000ee0| 72 61 63 74 46 69 6c 65 | 49 64 65 6e 74 69 66 69 |ractFile|Identifi| |00000ef0| 65 72 29 29 3b 0d 09 53 | 70 61 63 65 4f 75 74 28 |er));..S|paceOut(| |00000f00| 70 2e 62 69 62 6c 69 6f | 67 72 61 70 68 69 63 46 |p.biblio|graphicF| |00000f10| 69 6c 65 49 64 65 6e 74 | 69 66 69 65 72 2c 20 73 |ileIdent|ifier, s| |00000f20| 69 7a 65 6f 66 28 70 2e | 62 69 62 6c 69 6f 67 72 |izeof(p.|bibliogr| |00000f30| 61 70 68 69 63 46 69 6c | 65 49 64 65 6e 74 69 66 |aphicFil|eIdentif| |00000f40| 69 65 72 29 29 3b 0d 0d | 09 43 72 65 61 74 65 44 |ier));..|.CreateD| |00000f50| 69 72 52 63 64 28 28 44 | 69 72 52 63 64 20 2a 29 |irRcd((D|irRcd *)| |00000f60| 26 70 2e 72 6f 6f 74 44 | 69 72 65 63 74 6f 72 79 |&p.rootD|irectory| |00000f70| 52 65 63 6f 72 64 2c 20 | 72 6f 6f 74 4e 61 6d 65 |Record, |rootName| |00000f80| 2c 20 0d 09 09 44 49 52 | 45 43 54 4f 52 59 2c 20 |, ...DIR|ECTORY, | |00000f90| 43 44 42 4c 4b 53 49 5a | 45 2c 20 28 73 68 6f 72 |CDBLKSIZ|E, (shor| |00000fa0| 74 29 20 64 69 72 65 63 | 74 6f 72 79 42 69 74 2c |t) direc|toryBit,| |00000fb0| 20 30 4c 2c 20 30 4c 2c | 20 30 29 3b 0d 09 0d 09 | 0L, 0L,| 0);....| |00000fc0| 70 2e 52 65 73 65 72 76 | 65 64 31 20 3d 20 30 3b |p.Reserv|ed1 = 0;| |00000fd0| 0d 09 43 6c 65 61 72 4f | 75 74 28 70 2e 52 65 73 |..ClearO|ut(p.Res| |00000fe0| 65 72 76 65 64 32 2c 20 | 73 69 7a 65 6f 66 28 70 |erved2, |sizeof(p| |00000ff0| 2e 52 65 73 65 72 76 65 | 64 32 29 29 3b 0d 09 43 |.Reserve|d2));..C| |00001000| 6c 65 61 72 4f 75 74 28 | 70 2e 52 65 73 65 72 76 |learOut(|p.Reserv| |00001010| 65 64 33 2c 20 73 69 7a | 65 6f 66 28 70 2e 52 65 |ed3, siz|eof(p.Re| |00001020| 73 65 72 76 65 64 33 29 | 29 3b 0d 09 70 2e 52 65 |served3)|);..p.Re| |00001030| 73 65 72 76 65 64 34 20 | 3d 20 30 3b 0d 0d 23 69 |served4 |= 0;..#i| |00001040| 66 64 65 66 20 56 45 52 | 42 4f 53 45 09 2f 2a 20 |fdef VER|BOSE./* | |00001050| 69 66 20 49 20 77 61 6e | 74 20 74 6f 20 76 65 72 |if I wan|t to ver| |00001060| 69 66 79 20 77 68 61 74 | 20 49 27 76 65 20 64 6f |ify what| I've do| |00001070| 6e 65 20 2a 2f 0d 09 44 | 75 6d 70 50 56 44 28 26 |ne */..D|umpPVD(&| |00001080| 70 29 3b 0d 23 65 6e 64 | 69 66 0d 09 6f 66 66 73 |p);.#end|if..offs| |00001090| 65 74 20 3d 20 28 6c 6f | 6e 67 29 20 48 53 56 4f |et = (lo|ng) HSVO| |000010a0| 4c 53 54 41 52 54 20 2a | 20 28 6c 6f 6e 67 29 20 |LSTART *| (long) | |000010b0| 43 44 42 4c 4b 53 49 5a | 45 3b 0d 09 72 65 73 75 |CDBLKSIZ|E;..resu| |000010c0| 6c 74 20 3d 20 69 73 6f | 57 72 69 74 65 28 72 65 |lt = iso|Write(re| |000010d0| 66 65 72 65 6e 63 65 4e | 75 6d 62 65 72 2c 20 28 |ferenceN|umber, (| |000010e0| 50 74 72 29 26 70 2c 20 | 28 6c 6f 6e 67 29 20 73 |Ptr)&p, |(long) s| |000010f0| 69 7a 65 6f 66 28 70 29 | 2c 20 28 6c 6f 6e 67 29 |izeof(p)|, (long)| |00001100| 6f 66 66 73 65 74 29 3b | 0d 09 69 66 20 28 72 65 |offset);|..if (re| |00001110| 73 75 6c 74 20 21 3d 20 | 6e 6f 45 72 72 29 0d 09 |sult != |noErr)..| |00001120| 09 45 72 72 6f 72 4d 73 | 67 28 22 43 72 65 61 74 |.ErrorMs|g("Creat| |00001130| 65 50 56 44 3a 20 69 73 | 6f 57 72 69 74 65 28 29 |ePVD: is|oWrite()| |00001140| 20 72 65 74 75 72 6e 65 | 64 20 25 64 22 2c 20 72 | returne|d %d", r| |00001150| 65 73 75 6c 74 29 3b 0d | 09 65 6c 73 65 0d 09 09 |esult);.|.else...| |00001160| 45 72 72 6f 72 4d 73 67 | 28 22 76 6f 6c 75 6d 65 |ErrorMsg|("volume| |00001170| 20 64 65 73 63 72 69 70 | 74 6f 72 73 20 73 75 63 | descrip|tors suc| |00001180| 63 65 73 73 66 75 6c 6c | 79 20 63 72 65 61 74 65 |cessfull|y create| |00001190| 64 2e 22 29 3b 0d 09 72 | 65 74 75 72 6e 20 72 65 |d.");..r|eturn re| |000011a0| 73 75 6c 74 3b 0d 7d 0d | 0d 0d 2f 2a 2a 2a 2a 2a |sult;.}.|../*****| |000011b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000011c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000011d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000011e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000011f0| 2a 2a 2a 0d 20 2a 0d 20 | 2a 20 20 46 75 6e 63 74 |***. *. |* Funct| |00001200| 69 6f 6e 3a 09 09 43 72 | 65 61 74 65 56 44 54 0d |ion:..Cr|eateVDT.| |00001210| 20 2a 0d 20 2a 20 20 50 | 75 72 70 6f 73 65 3a 09 | *. * P|urpose:.| |00001220| 09 63 72 65 61 74 65 20 | 74 68 65 20 63 6f 6e 74 |.create |the cont| |00001230| 65 6e 74 73 20 6f 66 20 | 74 68 65 20 56 6f 6c 75 |ents of |the Volu| |00001240| 6d 65 20 44 65 73 63 72 | 69 70 74 6f 72 20 54 65 |me Descr|iptor Te| |00001250| 72 6d 69 6e 61 74 6f 72 | 0d 20 2a 0d 20 2a 20 20 |rminator|. *. * | |00001260| 52 65 74 75 72 6e 73 3a | 09 09 76 6f 69 64 0d 20 |Returns:|..void. | |00001270| 2a 0d 20 2a 20 20 53 69 | 64 65 20 45 66 66 65 63 |*. * Si|de Effec| |00001280| 74 73 3a 09 61 64 64 73 | 20 74 6f 20 74 68 65 20 |ts:.adds| to the | |00001290| 6f 75 74 70 75 74 20 66 | 69 6c 65 2e 0d 20 2a 0d |output f|ile.. *.| |000012a0| 20 2a 20 20 44 65 73 63 | 72 69 70 74 69 6f 6e 3a | * Desc|ription:| |000012b0| 09 42 75 69 6c 64 20 61 | 20 73 69 6d 70 6c 65 20 |.Build a| simple | |000012c0| 56 44 54 2c 20 66 69 6c | 6c 20 69 74 20 69 6e 2c |VDT, fil|l it in,| |000012d0| 20 61 6e 64 20 77 72 69 | 74 65 20 69 74 20 6f 75 | and wri|te it ou| |000012e0| 74 20 74 6f 0d 20 2a 09 | 09 09 09 09 61 20 66 61 |t to. *.|....a fa| |000012f0| 6d 6f 75 73 20 70 6c 61 | 63 65 2e 0d 20 2a 0d 20 |mous pla|ce.. *. | |00001300| 2a 0d 20 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |*. *****|********| |00001310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001320| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001330| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001340| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2f 0d 0d 4f 53 |********|***/..OS| |00001350| 45 72 72 0d 43 72 65 61 | 74 65 56 44 54 28 72 65 |Err.Crea|teVDT(re| |00001360| 66 65 72 65 6e 63 65 4e | 75 6d 62 65 72 29 0d 73 |ferenceN|umber).s| |00001370| 68 6f 72 74 09 72 65 66 | 65 72 65 6e 63 65 4e 75 |hort.ref|erenceNu| |00001380| 6d 62 65 72 3b 0d 7b 0d | 09 50 56 44 09 09 70 3b |mber;.{.|.PVD..p;| |00001390| 0d 09 73 68 6f 72 74 09 | 69 3b 0d 09 4f 53 45 72 |..short.|i;..OSEr| |000013a0| 72 09 72 65 73 75 6c 74 | 3b 0d 09 6c 6f 6e 67 09 |r.result|;..long.| |000013b0| 6f 66 66 73 65 74 3b 0d | 09 63 68 61 72 09 76 6f |offset;.|.char.vo| |000013c0| 6c 49 44 5b 33 33 5d 3b | 0d 09 0d 09 43 6c 65 61 |lID[33];|....Clea| |000013d0| 72 4f 75 74 28 28 63 68 | 61 72 20 2a 29 26 70 2c |rOut((ch|ar *)&p,| |000013e0| 20 73 69 7a 65 6f 66 28 | 70 29 29 3b 0d 09 70 2e | sizeof(|p));..p.| |000013f0| 56 44 54 79 70 65 20 3d | 20 32 35 35 3b 0d 09 70 |VDType =| 255;..p| |00001400| 2e 56 53 53 74 64 49 64 | 5b 30 5d 20 3d 20 27 43 |.VSStdId|[0] = 'C| |00001410| 27 3b 0d 09 70 2e 56 53 | 53 74 64 49 64 5b 31 5d |';..p.VS|StdId[1]| |00001420| 20 3d 20 27 44 27 3b 0d | 09 70 2e 56 53 53 74 64 | = 'D';.|.p.VSStd| |00001430| 49 64 5b 32 5d 20 3d 20 | 27 30 27 3b 0d 09 70 2e |Id[2] = |'0';..p.| |00001440| 56 53 53 74 64 49 64 5b | 33 5d 20 3d 20 27 30 27 |VSStdId[|3] = '0'| |00001450| 3b 0d 09 70 2e 56 53 53 | 74 64 49 64 5b 34 5d 20 |;..p.VSS|tdId[4] | |00001460| 3d 20 27 31 27 3b 0d 09 | 70 2e 56 53 53 74 64 56 |= '1';..|p.VSStdV| |00001470| 65 72 73 69 6f 6e 20 3d | 20 31 3b 0d 09 6f 66 66 |ersion =| 1;..off| |00001480| 73 65 74 20 3d 20 28 6c | 6f 6e 67 29 20 48 53 54 |set = (l|ong) HST| |00001490| 45 52 4d 53 54 41 52 54 | 20 2a 20 28 6c 6f 6e 67 |ERMSTART| * (long| |000014a0| 29 20 43 44 42 4c 4b 53 | 49 5a 45 3b 0d 09 72 65 |) CDBLKS|IZE;..re| |000014b0| 73 75 6c 74 20 3d 20 69 | 73 6f 57 72 69 74 65 28 |sult = i|soWrite(| |000014c0| 72 65 66 65 72 65 6e 63 | 65 4e 75 6d 62 65 72 2c |referenc|eNumber,| |000014d0| 20 28 50 74 72 29 26 70 | 2c 20 28 6c 6f 6e 67 29 | (Ptr)&p|, (long)| |000014e0| 20 73 69 7a 65 6f 66 28 | 70 29 2c 20 28 6c 6f 6e | sizeof(|p), (lon| |000014f0| 67 29 6f 66 66 73 65 74 | 29 3b 0d 09 69 66 20 28 |g)offset|);..if (| |00001500| 72 65 73 75 6c 74 20 21 | 3d 20 6e 6f 45 72 72 29 |result !|= noErr)| |00001510| 0d 09 09 45 72 72 6f 72 | 4d 73 67 28 22 43 72 65 |...Error|Msg("Cre| |00001520| 61 74 65 56 44 54 3a 20 | 69 73 6f 57 72 69 74 65 |ateVDT: |isoWrite| |00001530| 28 29 20 72 65 74 75 72 | 6e 65 64 20 25 64 22 2c |() retur|ned %d",| |00001540| 20 72 65 73 75 6c 74 29 | 3b 0d 09 72 65 74 75 72 | result)|;..retur| |00001550| 6e 20 72 65 73 75 6c 74 | 3b 0d 7d 0d 0d 0d 0d 0d |n result|;.}.....| |00001560| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********| |00001570| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001580| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001590| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000015a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 20 2a 0d 20 2a 20 |********|*. *. * | |000015b0| 20 46 75 6e 63 74 69 6f | 6e 3a 09 09 43 72 65 61 | Functio|n:..Crea| |000015c0| 74 65 50 61 74 68 54 61 | 62 6c 65 0d 20 2a 0d 20 |tePathTa|ble. *. | |000015d0| 2a 20 20 50 75 72 70 6f | 73 65 3a 09 09 63 72 65 |* Purpo|se:..cre| |000015e0| 61 74 65 20 70 61 74 68 | 20 74 61 62 6c 65 73 0d |ate path| tables.| |000015f0| 20 2a 0d 20 2a 20 20 52 | 65 74 75 72 6e 73 3a 09 | *. * R|eturns:.| |00001600| 09 6e 6f 74 68 69 6e 67 | 0d 20 2a 0d 20 2a 20 20 |.nothing|. *. * | |00001610| 53 69 64 65 20 45 66 66 | 65 63 74 73 3a 09 77 72 |Side Eff|ects:.wr| |00001620| 69 74 65 73 20 6c 73 62 | 20 70 61 74 68 20 74 61 |ites lsb| path ta| |00001630| 62 6c 65 20 61 6e 64 20 | 6d 73 62 20 70 61 74 68 |ble and |msb path| |00001640| 20 74 61 62 6c 65 0d 20 | 2a 0d 20 2a 20 20 44 65 | table. |*. * De| |00001650| 73 63 72 69 70 74 69 6f | 6e 3a 09 57 65 27 6c 6c |scriptio|n:.We'll| |00001660| 20 61 73 73 75 6d 65 20 | 6a 75 73 74 20 74 68 65 | assume |just the| |00001670| 20 72 6f 6f 74 2e 20 20 | 44 75 6d 70 20 6f 75 74 | root. |Dump out| |00001680| 20 74 68 65 20 70 61 74 | 68 0d 20 2a 09 09 09 09 | the pat|h. *....| |00001690| 09 70 61 74 68 20 74 61 | 62 6c 65 20 69 6e 20 62 |.path ta|ble in b| |000016a0| 6f 74 68 20 66 6f 72 6d | 61 74 73 2e 20 20 57 65 |oth form|ats. We| |000016b0| 27 6c 6c 20 70 75 74 20 | 74 68 65 0d 20 2a 09 09 |'ll put |the. *..| |000016c0| 09 09 09 70 61 74 68 20 | 74 61 62 6c 65 20 69 6e |...path |table in| |000016d0| 20 66 61 6d 6f 75 73 20 | 73 70 6f 74 73 2e 0d 20 | famous |spots.. | |000016e0| 2a 0d 20 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |*. *****|********| |000016f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001700| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001710| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001720| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2f 0d 4f 53 45 |********|***/.OSE| |00001730| 72 72 0d 43 72 65 61 74 | 65 50 61 74 68 54 61 62 |rr.Creat|ePathTab| |00001740| 6c 65 28 72 65 66 65 72 | 65 6e 63 65 4e 75 6d 62 |le(refer|enceNumb| |00001750| 65 72 29 0d 73 68 6f 72 | 74 09 72 65 66 65 72 65 |er).shor|t.refere| |00001760| 6e 63 65 4e 75 6d 62 65 | 72 3b 0d 7b 0d 09 63 68 |nceNumbe|r;.{..ch| |00001770| 61 72 09 62 75 66 66 65 | 72 5b 43 44 42 4c 4b 53 |ar.buffe|r[CDBLKS| |00001780| 49 5a 45 5d 3b 0d 09 50 | 61 74 68 54 61 62 6c 65 |IZE];..P|athTable| |00001790| 52 65 63 6f 72 64 50 74 | 72 09 64 3b 0d 09 6c 6f |RecordPt|r.d;..lo| |000017a0| 6e 67 09 6f 66 66 73 65 | 74 3b 0d 09 4f 53 45 72 |ng.offse|t;..OSEr| |000017b0| 72 09 72 65 73 75 6c 74 | 3b 0d 09 0d 09 43 6c 65 |r.result|;....Cle| |000017c0| 61 72 4f 75 74 28 62 75 | 66 66 65 72 2c 20 73 69 |arOut(bu|ffer, si| |000017d0| 7a 65 6f 66 28 62 75 66 | 66 65 72 29 29 3b 0d 09 |zeof(buf|fer));..| |000017e0| 64 20 3d 20 28 50 61 74 | 68 54 61 62 6c 65 52 65 |d = (Pat|hTableRe| |000017f0| 63 6f 72 64 50 74 72 29 | 20 26 62 75 66 66 65 72 |cordPtr)| &buffer| |00001800| 5b 30 5d 3b 0d 09 0d 09 | 64 2d 3e 6c 65 6e 5f 64 |[0];....|d->len_d| |00001810| 69 20 3d 20 31 3b 0d 09 | 64 2d 3e 58 41 52 6c 65 |i = 1;..|d->XARle| |00001820| 6e 67 74 68 20 3d 20 30 | 3b 0d 09 64 2d 3e 64 69 |ngth = 0|;..d->di| |00001830| 72 4c 6f 63 61 74 69 6f | 6e 20 3d 20 4e 6f 72 6d |rLocatio|n = Norm| |00001840| 61 6c 69 7a 65 4c 6f 6e | 67 28 44 49 52 45 43 54 |alizeLon|g(DIRECT| |00001850| 4f 52 59 29 3b 0d 09 64 | 2d 3e 70 61 72 65 6e 74 |ORY);..d|->parent| |00001860| 44 4e 20 3d 20 30 3b 0d | 09 0d 09 6f 66 66 73 65 |DN = 0;.|...offse| |00001870| 74 20 3d 20 4c 53 42 50 | 41 54 48 20 2a 20 28 6c |t = LSBP|ATH * (l| |00001880| 6f 6e 67 29 20 43 44 42 | 4c 4b 53 49 5a 45 3b 0d |ong) CDB|LKSIZE;.| |00001890| 09 72 65 73 75 6c 74 20 | 3d 20 69 73 6f 57 72 69 |.result |= isoWri| |000018a0| 74 65 28 72 65 66 65 72 | 65 6e 63 65 4e 75 6d 62 |te(refer|enceNumb| |000018b0| 65 72 2c 20 62 75 66 66 | 65 72 2c 20 28 6c 6f 6e |er, buff|er, (lon| |000018c0| 67 29 20 43 44 42 4c 4b | 53 49 5a 45 2c 20 6f 66 |g) CDBLK|SIZE, of| |000018d0| 66 73 65 74 29 3b 0d 09 | 69 66 20 28 72 65 73 75 |fset);..|if (resu| |000018e0| 6c 74 20 21 3d 20 6e 6f | 45 72 72 29 0d 09 09 45 |lt != no|Err)...E| |000018f0| 72 72 6f 72 4d 73 67 28 | 22 43 72 65 61 74 65 50 |rrorMsg(|"CreateP| |00001900| 61 74 68 54 61 62 6c 65 | 3a 20 69 73 6f 57 72 69 |athTable|: isoWri| |00001910| 74 65 28 29 20 72 65 74 | 75 72 6e 65 64 20 25 64 |te() ret|urned %d| |00001920| 22 2c 20 72 65 73 75 6c | 74 29 3b 0d 09 0d 09 64 |", resul|t);....d| |00001930| 2d 3e 6c 65 6e 5f 64 69 | 20 3d 20 31 3b 0d 09 64 |->len_di| = 1;..d| |00001940| 2d 3e 64 69 72 4c 6f 63 | 61 74 69 6f 6e 20 3d 20 |->dirLoc|ation = | |00001950| 44 49 52 45 43 54 4f 52 | 59 3b 0d 09 64 2d 3e 70 |DIRECTOR|Y;..d->p| |00001960| 61 72 65 6e 74 44 4e 20 | 3d 20 30 3b 0d 09 0d 09 |arentDN |= 0;....| |00001970| 6f 66 66 73 65 74 20 3d | 20 4d 53 42 50 41 54 48 |offset =| MSBPATH| |00001980| 20 2a 20 28 6c 6f 6e 67 | 29 20 43 44 42 4c 4b 53 | * (long|) CDBLKS| |00001990| 49 5a 45 3b 0d 09 72 65 | 73 75 6c 74 20 3d 20 69 |IZE;..re|sult = i| |000019a0| 73 6f 57 72 69 74 65 28 | 72 65 66 65 72 65 6e 63 |soWrite(|referenc| |000019b0| 65 4e 75 6d 62 65 72 2c | 20 62 75 66 66 65 72 2c |eNumber,| buffer,| |000019c0| 20 28 6c 6f 6e 67 29 20 | 43 44 42 4c 4b 53 49 5a | (long) |CDBLKSIZ| |000019d0| 45 2c 20 6f 66 66 73 65 | 74 29 3b 0d 09 69 66 20 |E, offse|t);..if | |000019e0| 28 72 65 73 75 6c 74 20 | 21 3d 20 6e 6f 45 72 72 |(result |!= noErr| |000019f0| 29 0d 09 09 45 72 72 6f | 72 4d 73 67 28 22 43 72 |)...Erro|rMsg("Cr| |00001a00| 65 61 74 65 50 61 74 68 | 54 61 62 6c 65 3a 20 69 |eatePath|Table: i| |00001a10| 73 6f 57 72 69 74 65 28 | 29 20 72 65 74 75 72 6e |soWrite(|) return| |00001a20| 65 64 20 25 64 22 2c 20 | 72 65 73 75 6c 74 29 3b |ed %d", |result);| |00001a30| 0d 09 72 65 74 75 72 6e | 20 72 65 73 75 6c 74 3b |..return| result;| |00001a40| 0d 7d 0d 0d 0d 2f 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.}.../**|********| |00001a50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001a60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001a70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001a80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 20 |********|******. | |00001a90| 2a 0d 20 2a 20 20 46 75 | 6e 63 74 69 6f 6e 3a 09 |*. * Fu|nction:.| |00001aa0| 43 72 65 61 74 65 44 69 | 72 52 63 64 0d 20 2a 0d |CreateDi|rRcd. *.| |00001ab0| 20 2a 20 20 50 75 72 70 | 6f 73 65 3a 09 43 72 65 | * Purp|ose:.Cre| |00001ac0| 61 74 65 20 61 20 64 69 | 72 65 63 74 6f 72 79 20 |ate a di|rectory | |00001ad0| 72 65 63 6f 72 64 20 66 | 6f 72 20 61 20 66 69 6c |record f|or a fil| |00001ae0| 65 0d 20 2a 0d 20 2a 20 | 20 52 65 74 75 72 6e 73 |e. *. * | Returns| |00001af0| 3a 09 6e 6f 6e 65 0d 20 | 2a 0d 20 2a 20 20 53 69 |:.none. |*. * Si| |00001b00| 64 65 20 45 66 66 65 63 | 74 73 3a 09 66 69 6c 6c |de Effec|ts:.fill| |00001b10| 73 20 2a 64 20 77 69 74 | 68 20 64 69 72 65 63 74 |s *d wit|h direct| |00001b20| 6f 72 79 20 69 6e 66 6f | 72 6d 61 74 69 6f 6e 2e |ory info|rmation.| |00001b30| 20 20 57 65 20 61 73 73 | 75 6d 65 0d 20 2a 09 09 | We ass|ume. *..| |00001b40| 09 09 09 63 61 6c 6c 65 | 72 20 68 61 73 20 61 6c |...calle|r has al| |00001b50| 6c 6f 63 61 74 65 64 20 | 73 70 61 63 65 20 66 6f |located |space fo| |00001b60| 72 20 64 2e 0d 20 2a 0d | 20 2a 20 20 44 65 73 63 |r d.. *.| * Desc| |00001b70| 72 69 70 74 69 6f 6e 3a | 0d 20 2a 0d 20 2a 2a 2a |ription:|. *. ***| |00001b80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001b90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001ba0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001bb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001bc0| 2a 2a 2a 2a 2a 2f 0d 76 | 6f 69 64 0d 43 72 65 61 |*****/.v|oid.Crea| |00001bd0| 74 65 44 69 72 52 63 64 | 28 64 2c 20 6e 61 6d 65 |teDirRcd|(d, name| |00001be0| 2c 20 73 74 61 72 74 2c | 20 6c 65 6e 67 74 68 2c |, start,| length,| |00001bf0| 20 66 6c 61 67 73 2c 20 | 66 54 79 70 65 2c 20 66 | flags, |fType, f| |00001c00| 43 72 65 61 74 6f 72 2c | 20 66 69 6e 64 65 72 46 |Creator,| finderF| |00001c10| 6c 61 67 73 29 0d 44 69 | 72 52 63 64 09 2a 64 3b |lags).Di|rRcd.*d;| |00001c20| 0d 53 74 72 69 6e 67 50 | 74 72 20 6e 61 6d 65 3b |.StringP|tr name;| |00001c30| 0d 6c 6f 6e 67 09 73 74 | 61 72 74 3b 0d 6c 6f 6e |.long.st|art;.lon| |00001c40| 67 09 6c 65 6e 67 74 68 | 3b 0d 73 68 6f 72 74 09 |g.length|;.short.| |00001c50| 66 6c 61 67 73 3b 0d 4f | 53 54 79 70 65 09 66 54 |flags;.O|SType.fT| |00001c60| 79 70 65 3b 0d 4f 53 54 | 79 70 65 09 66 43 72 65 |ype;.OST|ype.fCre| |00001c70| 61 74 6f 72 3b 0d 73 68 | 6f 72 74 09 66 69 6e 64 |ator;.sh|ort.find| |00001c80| 65 72 46 6c 61 67 73 3b | 0d 7b 0d 09 50 74 72 09 |erFlags;|.{..Ptr.| |00001c90| 09 64 50 74 72 3b 0d 09 | 73 68 6f 72 74 09 69 3b |.dPtr;..|short.i;| |00001ca0| 0d 09 44 61 74 65 54 69 | 6d 65 52 65 63 09 74 6f |..DateTi|meRec.to| |00001cb0| 64 61 79 3b 0d 0d 09 64 | 2d 3e 58 41 52 6c 65 6e |day;...d|->XARlen| |00001cc0| 67 74 68 20 3d 20 30 3b | 0d 09 64 2d 3e 6c 73 62 |gth = 0;|..d->lsb| |00001cd0| 53 74 61 72 74 20 3d 20 | 4e 6f 72 6d 61 6c 69 7a |Start = |Normaliz| |00001ce0| 65 4c 6f 6e 67 28 73 74 | 61 72 74 29 3b 0d 09 64 |eLong(st|art);..d| |00001cf0| 2d 3e 6d 73 62 53 74 61 | 72 74 20 3d 20 73 74 61 |->msbSta|rt = sta| |00001d00| 72 74 3b 0d 09 64 2d 3e | 6c 73 62 44 61 74 61 4c |rt;..d->|lsbDataL| |00001d10| 65 6e 67 74 68 20 3d 20 | 4e 6f 72 6d 61 6c 69 7a |ength = |Normaliz| |00001d20| 65 4c 6f 6e 67 28 6c 65 | 6e 67 74 68 29 3b 0d 09 |eLong(le|ngth);..| |00001d30| 64 2d 3e 6d 73 62 44 61 | 74 61 4c 65 6e 67 74 68 |d->msbDa|taLength| |00001d40| 20 3d 20 6c 65 6e 67 74 | 68 3b 0d 09 64 2d 3e 66 | = lengt|h;..d->f| |00001d50| 69 6c 65 46 6c 61 67 73 | 20 3d 20 66 6c 61 67 73 |ileFlags| = flags| |00001d60| 3b 0d 09 69 66 20 28 66 | 69 6e 64 65 72 46 6c 61 |;..if (f|inderFla| |00001d70| 67 73 20 26 20 66 49 6e | 76 69 73 69 62 6c 65 29 |gs & fIn|visible)| |00001d80| 0d 09 09 64 2d 3e 66 69 | 6c 65 46 6c 61 67 73 20 |...d->fi|leFlags | |00001d90| 7c 3d 20 65 78 69 73 74 | 65 6e 63 65 42 69 74 3b ||= exist|enceBit;| |00001da0| 0d 09 47 65 74 54 69 6d | 65 28 26 74 6f 64 61 79 |..GetTim|e(&today| |00001db0| 29 3b 0d 09 64 2d 3e 79 | 65 61 72 20 3d 20 74 6f |);..d->y|ear = to| |00001dc0| 64 61 79 2e 79 65 61 72 | 2d 31 39 30 30 3b 0d 09 |day.year|-1900;..| |00001dd0| 64 2d 3e 6d 6f 6e 74 68 | 20 3d 20 74 6f 64 61 79 |d->month| = today| |00001de0| 2e 6d 6f 6e 74 68 3b 0d | 09 64 2d 3e 64 61 79 20 |.month;.|.d->day | |00001df0| 3d 20 74 6f 64 61 79 2e | 64 61 79 3b 0d 09 64 2d |= today.|day;..d-| |00001e00| 3e 68 6f 75 72 20 3d 20 | 74 6f 64 61 79 2e 68 6f |>hour = |today.ho| |00001e10| 75 72 3b 0d 09 64 2d 3e | 6d 69 6e 75 74 65 20 3d |ur;..d->|minute =| |00001e20| 20 74 6f 64 61 79 2e 6d | 69 6e 75 74 65 3b 0d 09 | today.m|inute;..| |00001e30| 64 2d 3e 73 65 63 6f 6e | 64 20 3d 20 74 6f 64 61 |d->secon|d = toda| |00001e40| 79 2e 73 65 63 6f 6e 64 | 3b 0d 09 64 2d 3e 67 6d |y.second|;..d->gm| |00001e50| 74 4f 66 66 73 65 74 20 | 3d 20 30 3b 0d 09 64 2d |tOffset |= 0;..d-| |00001e60| 3e 69 6e 74 65 72 6c 65 | 61 76 65 53 69 7a 65 20 |>interle|aveSize | |00001e70| 3d 20 30 3b 0d 09 64 2d | 3e 69 6e 74 65 72 6c 65 |= 0;..d-|>interle| |00001e80| 61 76 65 53 6b 69 70 20 | 3d 20 30 3b 0d 09 64 2d |aveSkip |= 0;..d-| |00001e90| 3e 6c 73 62 56 6f 6c 53 | 65 74 53 65 71 4e 75 6d |>lsbVolS|etSeqNum| |00001ea0| 20 3d 20 4e 6f 72 6d 61 | 6c 69 7a 65 57 6f 72 64 | = Norma|lizeWord| |00001eb0| 28 31 29 3b 0d 09 64 2d | 3e 6d 73 62 56 6f 6c 53 |(1);..d-|>msbVolS| |00001ec0| 65 74 53 65 71 4e 75 6d | 20 3d 20 31 3b 0d 09 0d |etSeqNum| = 1;...| |00001ed0| 09 64 2d 3e 6c 65 6e 5f | 66 69 20 3d 20 43 72 65 |.d->len_|fi = Cre| |00001ee0| 61 74 65 49 53 4f 4e 61 | 6d 65 28 28 63 68 61 72 |ateISONa|me((char| |00001ef0| 20 2a 29 64 2d 3e 66 69 | 2c 20 6e 61 6d 65 29 3b | *)d->fi|, name);| |00001f00| 0d 0d 09 64 2d 3e 6c 65 | 6e 5f 64 72 20 3d 20 33 |...d->le|n_dr = 3| |00001f10| 32 20 2b 20 64 2d 3e 6c | 65 6e 5f 66 69 3b 0d 09 |2 + d->l|en_fi;..| |00001f20| 0d 09 41 64 64 41 70 70 | 6c 65 45 78 74 65 6e 73 |..AddApp|leExtens| |00001f30| 69 6f 6e 73 28 64 2c 20 | 66 54 79 70 65 2c 20 66 |ions(d, |fType, f| |00001f40| 43 72 65 61 74 6f 72 2c | 20 66 69 6e 64 65 72 46 |Creator,| finderF| |00001f50| 6c 61 67 73 29 3b 0d 09 | 0d 09 69 66 20 28 64 2d |lags);..|..if (d-| |00001f60| 3e 6c 65 6e 5f 64 72 20 | 26 20 31 29 09 2f 2a 20 |>len_dr |& 1)./* | |00001f70| 6f 64 64 20 64 69 72 52 | 63 64 73 20 6e 65 65 64 |odd dirR|cds need| |00001f80| 20 70 61 64 20 62 79 74 | 65 20 2a 2f 0d 09 7b 0d | pad byt|e */..{.| |00001f90| 09 09 64 50 74 72 20 3d | 20 28 63 68 61 72 20 2a |..dPtr =| (char *| |00001fa0| 29 64 3b 0d 09 09 64 50 | 74 72 5b 64 2d 3e 6c 65 |)d;...dP|tr[d->le| |00001fb0| 6e 5f 64 72 5d 20 3d 20 | 27 5c 30 30 30 27 3b 0d |n_dr] = |'\000';.| |00001fc0| 09 09 64 2d 3e 6c 65 6e | 5f 64 72 2b 2b 3b 0d 09 |..d->len|_dr++;..| |00001fd0| 7d 0d 7d 0d 0d 0d 2f 2a | 2a 2a 2a 2a 2a 2a 2a 2a |}.}.../*|********| |00001fe0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00001ff0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002000| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002010| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.| |00002020| 20 2a 0d 20 2a 20 20 46 | 75 6e 63 74 69 6f 6e 3a | *. * F|unction:| |00002030| 09 09 41 64 64 4f 6c 64 | 41 70 70 6c 65 45 78 74 |..AddOld|AppleExt| |00002040| 65 6e 73 69 6f 6e 73 0d | 20 2a 0d 20 2a 20 20 50 |ensions.| *. * P| |00002050| 75 72 70 6f 73 65 3a 09 | 09 6f 70 74 69 6f 6e 61 |urpose:.|.optiona| |00002060| 6c 6c 79 20 61 64 64 20 | 61 70 70 6c 65 20 65 78 |lly add |apple ex| |00002070| 74 65 6e 73 69 6f 6e 73 | 20 74 6f 20 49 53 4f 20 |tensions| to ISO | |00002080| 39 36 36 30 0d 20 2a 0d | 20 2a 20 20 52 65 74 75 |9660. *.| * Retu| |00002090| 72 6e 73 3a 09 09 76 6f | 69 64 0d 20 2a 0d 20 2a |rns:..vo|id. *. *| |000020a0| 20 20 53 69 64 65 20 45 | 66 66 65 63 74 73 3a 09 | Side E|ffects:.| |000020b0| 64 69 72 65 63 74 6f 72 | 79 20 72 65 63 6f 72 64 |director|y record| |000020c0| 20 6d 61 79 20 67 65 74 | 20 65 78 74 65 6e 64 65 | may get| extende| |000020d0| 64 2e 20 20 4d 75 73 74 | 20 68 61 76 65 20 65 6e |d. Must| have en| |000020e0| 6f 75 67 68 0d 20 2a 09 | 09 09 09 09 72 6f 6f 6d |ough. *.|....room| |000020f0| 20 69 6e 20 61 72 65 61 | 20 70 6f 69 6e 74 65 64 | in area| pointed| |00002100| 20 74 6f 20 62 79 20 64 | 69 72 52 63 64 20 66 6f | to by d|irRcd fo| |00002110| 72 20 74 68 69 73 20 74 | 6f 20 68 61 70 70 65 6e |r this t|o happen| |00002120| 2e 0d 20 2a 0d 20 2a 20 | 20 44 65 73 63 72 69 70 |.. *. * | Descrip| |00002130| 74 69 6f 6e 3a 09 43 68 | 65 63 6b 20 74 68 65 20 |tion:.Ch|eck the | |00002140| 66 54 79 70 65 2e 20 20 | 49 66 20 69 74 27 73 20 |fType. |If it's | |00002150| 6e 6f 6e 2d 7a 65 72 6f | 2c 20 61 64 64 20 74 68 |non-zero|, add th| |00002160| 65 20 69 6e 66 6f 72 6d | 61 74 69 6f 6e 0d 20 2a |e inform|ation. *| |00002170| 09 09 09 09 09 6e 65 63 | 65 73 73 61 72 79 20 66 |.....nec|essary f| |00002180| 6f 72 20 74 68 65 20 41 | 70 70 6c 65 20 45 78 74 |or the A|pple Ext| |00002190| 65 6e 73 69 6f 6e 73 20 | 74 6f 20 49 53 4f 20 39 |ensions |to ISO 9| |000021a0| 36 36 30 2e 20 20 4e 6f | 74 65 0d 20 2a 09 09 09 |660. No|te. *...| |000021b0| 09 09 74 68 61 74 20 77 | 65 20 63 61 6e 27 74 20 |..that w|e can't | |000021c0| 6a 75 73 74 20 61 73 73 | 69 67 6e 20 66 54 79 70 |just ass|ign fTyp| |000021d0| 65 20 61 6e 64 20 66 43 | 72 65 61 74 6f 72 2c 20 |e and fC|reator, | |000021e0| 73 69 6e 63 65 0d 20 2a | 09 09 09 09 09 6c 6f 6e |since. *|.....lon| |000021f0| 67 73 20 61 72 65 20 61 | 6c 69 67 6e 65 64 20 77 |gs are a|ligned w| |00002200| 69 74 68 69 6e 20 73 74 | 72 75 63 74 75 72 65 73 |ithin st|ructures| |00002210| 2e 0d 20 2a 0d 20 2a 09 | 09 09 09 09 54 68 69 73 |.. *. *.|....This| |00002220| 20 70 72 6f 63 65 64 75 | 72 65 20 61 64 64 73 20 | procedu|re adds | |00002230| 74 68 65 20 6f 6c 64 2c | 20 22 42 41 22 20 41 70 |the old,| "BA" Ap| |00002240| 70 6c 65 20 65 78 74 65 | 6e 73 69 6f 6e 73 2e 0d |ple exte|nsions..| |00002250| 20 2a 0d 20 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *. ****|********| |00002260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2f 0d 76 6f |********|****/.vo| |000022a0| 69 64 0d 41 64 64 4f 6c | 64 41 70 70 6c 65 45 78 |id.AddOl|dAppleEx| |000022b0| 74 65 6e 73 69 6f 6e 73 | 28 64 69 72 52 63 64 2c |tensions|(dirRcd,| |000022c0| 20 66 54 79 70 65 2c 20 | 66 43 72 65 61 74 6f 72 | fType, |fCreator| |000022d0| 2c 20 66 6c 61 67 73 29 | 0d 44 69 72 52 63 64 09 |, flags)|.DirRcd.| |000022e0| 2a 64 69 72 52 63 64 3b | 0d 4f 53 54 79 70 65 09 |*dirRcd;|.OSType.| |000022f0| 66 54 79 70 65 3b 0d 4f | 53 54 79 70 65 09 66 43 |fType;.O|SType.fC| |00002300| 72 65 61 74 6f 72 3b 0d | 73 68 6f 72 74 09 66 6c |reator;.|short.fl| |00002310| 61 67 73 3b 0d 7b 0d 09 | 4f 6c 64 41 70 70 6c 65 |ags;.{..|OldApple| |00002320| 45 78 74 65 6e 73 69 6f | 6e 09 61 70 70 6c 65 3b |Extensio|n.apple;| |00002330| 0d 09 73 68 6f 72 74 09 | 09 09 69 3b 0d 09 73 68 |..short.|..i;..sh| |00002340| 6f 72 74 09 09 09 6a 3b | 0d 09 73 68 6f 72 74 09 |ort...j;|..short.| |00002350| 09 09 6c 69 6d 69 74 3b | 0d 09 63 68 61 72 09 09 |..limit;|..char..| |00002360| 09 2a 61 50 74 72 3b 0d | 09 50 74 72 09 09 09 09 |.*aPtr;.|.Ptr....| |00002370| 66 50 74 72 3b 0d 09 0d | 09 69 66 20 28 66 54 79 |fPtr;...|.if (fTy| |00002380| 70 65 20 21 3d 20 30 4c | 29 0d 09 7b 0d 09 09 61 |pe != 0L|)..{...a| |00002390| 70 70 6c 65 2e 6d 61 63 | 46 6c 61 67 5b 30 5d 20 |pple.mac|Flag[0] | |000023a0| 3d 20 27 42 27 3b 0d 09 | 09 61 70 70 6c 65 2e 6d |= 'B';..|.apple.m| |000023b0| 61 63 46 6c 61 67 5b 31 | 5d 20 3d 20 27 41 27 3b |acFlag[1|] = 'A';| |000023c0| 0d 09 09 61 70 70 6c 65 | 2e 73 79 73 74 65 6d 55 |...apple|.systemU| |000023d0| 73 65 49 44 20 3d 20 30 | 36 3b 0d 09 09 66 50 74 |seID = 0|6;...fPt| |000023e0| 72 20 3d 20 28 63 68 61 | 72 20 2a 29 26 66 54 79 |r = (cha|r *)&fTy| |000023f0| 70 65 3b 0d 09 09 0d 09 | 09 66 6f 72 20 28 69 20 |pe;.....|.for (i | |00002400| 3d 20 30 3b 20 69 20 3c | 20 34 3b 20 69 2b 2b 29 |= 0; i <| 4; i++)| |00002410| 0d 09 09 09 61 70 70 6c | 65 2e 66 69 6c 65 54 79 |....appl|e.fileTy| |00002420| 70 65 5b 69 5d 20 3d 20 | 66 50 74 72 5b 69 5d 3b |pe[i] = |fPtr[i];| |00002430| 0d 09 09 66 50 74 72 20 | 3d 20 28 63 68 61 72 20 |...fPtr |= (char | |00002440| 2a 29 26 66 43 72 65 61 | 74 6f 72 3b 0d 09 09 0d |*)&fCrea|tor;....| |00002450| 09 09 66 6f 72 20 28 69 | 20 3d 20 30 3b 20 69 20 |..for (i| = 0; i | |00002460| 3c 20 34 3b 20 69 2b 2b | 29 0d 09 09 09 61 70 70 |< 4; i++|)....app| |00002470| 6c 65 2e 66 69 6c 65 43 | 72 65 61 74 6f 72 5b 69 |le.fileC|reator[i| |00002480| 5d 20 3d 20 66 50 74 72 | 5b 69 5d 3b 0d 09 09 0d |] = fPtr|[i];....| |00002490| 09 09 61 70 70 6c 65 2e | 66 69 6e 64 65 72 46 6c |..apple.|finderFl| |000024a0| 61 67 73 5b 30 5d 20 3d | 20 28 66 6c 61 67 73 20 |ags[0] =| (flags | |000024b0| 3e 3e 20 38 29 20 26 20 | 30 78 46 46 3b 0d 09 09 |>> 8) & |0xFF;...| |000024c0| 61 70 70 6c 65 2e 66 69 | 6e 64 65 72 46 6c 61 67 |apple.fi|nderFlag| |000024d0| 73 5b 31 5d 20 3d 20 66 | 6c 61 67 73 20 26 20 30 |s[1] = f|lags & 0| |000024e0| 78 46 46 3b 0d 09 09 0d | 09 09 6c 69 6d 69 74 20 |xFF;....|..limit | |000024f0| 3d 20 73 69 7a 65 6f 66 | 28 61 70 70 6c 65 29 3b |= sizeof|(apple);| |00002500| 0d 09 09 0d 09 09 61 50 | 74 72 20 3d 20 28 63 68 |......aP|tr = (ch| |00002510| 61 72 20 2a 29 26 61 70 | 70 6c 65 3b 0d 0d 09 09 |ar *)&ap|ple;....| |00002520| 6a 20 3d 20 64 69 72 52 | 63 64 2d 3e 6c 65 6e 5f |j = dirR|cd->len_| |00002530| 66 69 3b 0d 09 09 0d 09 | 09 69 66 20 28 6a 20 26 |fi;.....|.if (j &| |00002540| 20 31 29 0d 09 09 7b 0d | 09 09 09 64 69 72 52 63 | 1)...{.|...dirRc| |00002550| 64 2d 3e 66 69 5b 6a 5d | 20 3d 20 30 3b 0d 09 09 |d->fi[j]| = 0;...| |00002560| 09 6a 2b 2b 3b 09 2f 2a | 20 74 68 65 72 65 20 69 |.j++;./*| there i| |00002570| 73 20 61 20 70 61 64 20 | 62 79 74 65 20 61 66 74 |s a pad |byte aft| |00002580| 65 72 20 6f 64 64 20 6c | 65 6e 67 74 68 20 66 69 |er odd l|ength fi| |00002590| 6c 65 20 6e 61 6d 65 73 | 20 2a 2f 0d 09 09 7d 0d |le names| */...}.| |000025a0| 09 09 0d 09 09 66 6f 72 | 20 28 69 20 3d 20 30 3b |.....for| (i = 0;| |000025b0| 20 69 20 3c 3d 20 6c 69 | 6d 69 74 3b 20 69 2b 2b | i <= li|mit; i++| |000025c0| 29 0d 09 09 09 64 69 72 | 52 63 64 2d 3e 66 69 5b |)....dir|Rcd->fi[| |000025d0| 69 20 2b 20 6a 5d 20 3d | 20 61 50 74 72 5b 69 5d |i + j] =| aPtr[i]| |000025e0| 3b 0d 09 09 0d 09 09 64 | 69 72 52 63 64 2d 3e 6c |;......d|irRcd->l| |000025f0| 65 6e 5f 64 72 20 2b 3d | 20 6c 69 6d 69 74 3b 0d |en_dr +=| limit;.| |00002600| 09 7d 0d 7d 09 0d 0d 0d | 2f 2a 2a 2a 2a 2a 2a 2a |.}.}....|/*******| |00002610| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002620| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002630| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002640| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002650| 2a 0d 20 2a 0d 20 2a 20 | 20 46 75 6e 63 74 69 6f |*. *. * | Functio| |00002660| 6e 3a 09 09 41 64 64 41 | 70 70 6c 65 45 78 74 65 |n:..AddA|ppleExte| |00002670| 6e 73 69 6f 6e 73 0d 20 | 2a 0d 20 2a 20 20 50 75 |nsions. |*. * Pu| |00002680| 72 70 6f 73 65 3a 09 09 | 6f 70 74 69 6f 6e 61 6c |rpose:..|optional| |00002690| 6c 79 20 61 64 64 20 61 | 70 70 6c 65 20 65 78 74 |ly add a|pple ext| |000026a0| 65 6e 73 69 6f 6e 73 20 | 74 6f 20 49 53 4f 20 39 |ensions |to ISO 9| |000026b0| 36 36 30 0d 20 2a 0d 20 | 2a 20 20 52 65 74 75 72 |660. *. |* Retur| |000026c0| 6e 73 3a 09 09 76 6f 69 | 64 0d 20 2a 0d 20 2a 20 |ns:..voi|d. *. * | |000026d0| 20 53 69 64 65 20 45 66 | 66 65 63 74 73 3a 09 64 | Side Ef|fects:.d| |000026e0| 69 72 65 63 74 6f 72 79 | 20 72 65 63 6f 72 64 20 |irectory| record | |000026f0| 6d 61 79 20 67 65 74 20 | 65 78 74 65 6e 64 65 64 |may get |extended| |00002700| 2e 20 20 4d 75 73 74 20 | 68 61 76 65 20 65 6e 6f |. Must |have eno| |00002710| 75 67 68 0d 20 2a 09 09 | 09 09 09 72 6f 6f 6d 20 |ugh. *..|...room | |00002720| 69 6e 20 61 72 65 61 20 | 70 6f 69 6e 74 65 64 20 |in area |pointed | |00002730| 74 6f 20 62 79 20 64 69 | 72 52 63 64 20 66 6f 72 |to by di|rRcd for| |00002740| 20 74 68 69 73 20 74 6f | 20 68 61 70 70 65 6e 2e | this to| happen.| |00002750| 0d 20 2a 0d 20 2a 20 20 | 44 65 73 63 72 69 70 74 |. *. * |Descript| |00002760| 69 6f 6e 3a 09 43 68 65 | 63 6b 20 74 68 65 20 66 |ion:.Che|ck the f| |00002770| 54 79 70 65 2e 20 20 49 | 66 20 69 74 27 73 20 6e |Type. I|f it's n| |00002780| 6f 6e 2d 7a 65 72 6f 2c | 20 61 64 64 20 74 68 65 |on-zero,| add the| |00002790| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 0d 20 2a 09 | informa|tion. *.| |000027a0| 09 09 09 09 6e 65 63 65 | 73 73 61 72 79 20 66 6f |....nece|ssary fo| |000027b0| 72 20 74 68 65 20 41 70 | 70 6c 65 20 45 78 74 65 |r the Ap|ple Exte| |000027c0| 6e 73 69 6f 6e 73 20 74 | 6f 20 49 53 4f 20 39 36 |nsions t|o ISO 96| |000027d0| 36 30 2e 20 20 4e 6f 74 | 65 0d 20 2a 09 09 09 09 |60. Not|e. *....| |000027e0| 09 74 68 61 74 20 77 65 | 20 63 61 6e 27 74 20 6a |.that we| can't j| |000027f0| 75 73 74 20 61 73 73 69 | 67 6e 20 66 54 79 70 65 |ust assi|gn fType| |00002800| 20 61 6e 64 20 66 43 72 | 65 61 74 6f 72 2c 20 73 | and fCr|eator, s| |00002810| 69 6e 63 65 0d 20 2a 09 | 09 09 09 09 6c 6f 6e 67 |ince. *.|....long| |00002820| 73 20 61 72 65 20 61 6c | 69 67 6e 65 64 20 77 69 |s are al|igned wi| |00002830| 74 68 69 6e 20 73 74 72 | 75 63 74 75 72 65 73 2e |thin str|uctures.| |00002840| 0d 20 2a 0d 20 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |. *. ***|********| |00002850| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002860| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002870| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002880| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2f 0d 76 |********|*****/.v| |00002890| 6f 69 64 0d 41 64 64 41 | 70 70 6c 65 45 78 74 65 |oid.AddA|ppleExte| |000028a0| 6e 73 69 6f 6e 73 28 64 | 69 72 52 63 64 2c 20 66 |nsions(d|irRcd, f| |000028b0| 54 79 70 65 2c 20 66 43 | 72 65 61 74 6f 72 2c 20 |Type, fC|reator, | |000028c0| 66 6c 61 67 73 29 0d 44 | 69 72 52 63 64 09 2a 64 |flags).D|irRcd.*d| |000028d0| 69 72 52 63 64 3b 0d 4f | 53 54 79 70 65 09 66 54 |irRcd;.O|SType.fT| |000028e0| 79 70 65 3b 0d 4f 53 54 | 79 70 65 09 66 43 72 65 |ype;.OST|ype.fCre| |000028f0| 61 74 6f 72 3b 0d 73 68 | 6f 72 74 09 66 6c 61 67 |ator;.sh|ort.flag| |00002900| 73 3b 0d 7b 0d 09 41 70 | 70 6c 65 45 78 74 65 6e |s;.{..Ap|pleExten| |00002910| 73 69 6f 6e 09 61 70 70 | 6c 65 3b 0d 09 73 68 6f |sion.app|le;..sho| |00002920| 72 74 09 09 09 69 3b 0d | 09 73 68 6f 72 74 09 09 |rt...i;.|.short..| |00002930| 09 6a 3b 0d 09 73 68 6f | 72 74 09 09 09 6c 69 6d |.j;..sho|rt...lim| |00002940| 69 74 3b 0d 09 63 68 61 | 72 09 09 09 2a 61 50 74 |it;..cha|r...*aPt| |00002950| 72 3b 0d 09 50 74 72 09 | 09 09 09 66 50 74 72 3b |r;..Ptr.|...fPtr;| |00002960| 0d 09 0d 09 69 66 20 28 | 66 54 79 70 65 20 21 3d |....if (|fType !=| |00002970| 20 30 4c 29 0d 09 7b 0d | 09 09 61 70 70 6c 65 2e | 0L)..{.|..apple.| |00002980| 73 69 67 6e 61 74 75 72 | 65 5b 30 5d 20 3d 20 27 |signatur|e[0] = '| |00002990| 41 27 3b 0d 09 09 61 70 | 70 6c 65 2e 73 69 67 6e |A';...ap|ple.sign| |000029a0| 61 74 75 72 65 5b 31 5d | 20 3d 20 27 41 27 3b 0d |ature[1]| = 'A';.| |000029b0| 09 09 61 70 70 6c 65 2e | 65 78 74 65 6e 73 69 6f |..apple.|extensio| |000029c0| 6e 4c 65 6e 67 74 68 20 | 3d 20 30 78 30 45 3b 0d |nLength |= 0x0E;.| |000029d0| 09 09 61 70 70 6c 65 2e | 73 79 73 74 65 6d 55 73 |..apple.|systemUs| |000029e0| 65 49 44 20 3d 20 30 32 | 3b 0d 09 09 66 50 74 72 |eID = 02|;...fPtr| |000029f0| 20 3d 20 28 63 68 61 72 | 20 2a 29 26 66 54 79 70 | = (char| *)&fTyp| |00002a00| 65 3b 0d 09 09 0d 09 09 | 66 6f 72 20 28 69 20 3d |e;......|for (i =| |00002a10| 20 30 3b 20 69 20 3c 20 | 34 3b 20 69 2b 2b 29 0d | 0; i < |4; i++).| |00002a20| 09 09 09 61 70 70 6c 65 | 2e 66 69 6c 65 54 79 70 |...apple|.fileTyp| |00002a30| 65 5b 69 5d 20 3d 20 66 | 50 74 72 5b 69 5d 3b 0d |e[i] = f|Ptr[i];.| |00002a40| 09 09 66 50 74 72 20 3d | 20 28 63 68 61 72 20 2a |..fPtr =| (char *| |00002a50| 29 26 66 43 72 65 61 74 | 6f 72 3b 0d 09 09 0d 09 |)&fCreat|or;.....| |00002a60| 09 66 6f 72 20 28 69 20 | 3d 20 30 3b 20 69 20 3c |.for (i |= 0; i <| |00002a70| 20 34 3b 20 69 2b 2b 29 | 0d 09 09 09 61 70 70 6c | 4; i++)|....appl| |00002a80| 65 2e 66 69 6c 65 43 72 | 65 61 74 6f 72 5b 69 5d |e.fileCr|eator[i]| |00002a90| 20 3d 20 66 50 74 72 5b | 69 5d 3b 0d 09 09 0d 09 | = fPtr[|i];.....| |00002aa0| 09 61 70 70 6c 65 2e 66 | 69 6e 64 65 72 46 6c 61 |.apple.f|inderFla| |00002ab0| 67 73 5b 30 5d 20 3d 20 | 28 66 6c 61 67 73 20 3e |gs[0] = |(flags >| |00002ac0| 3e 20 38 29 20 26 20 30 | 78 46 46 3b 0d 09 09 61 |> 8) & 0|xFF;...a| |00002ad0| 70 70 6c 65 2e 66 69 6e | 64 65 72 46 6c 61 67 73 |pple.fin|derFlags| |00002ae0| 5b 31 5d 20 3d 20 66 6c | 61 67 73 20 26 20 30 78 |[1] = fl|ags & 0x| |00002af0| 46 46 3b 0d 09 09 0d 09 | 09 6c 69 6d 69 74 20 3d |FF;.....|.limit =| |00002b00| 20 73 69 7a 65 6f 66 28 | 61 70 70 6c 65 29 3b 0d | sizeof(|apple);.| |00002b10| 09 09 0d 09 09 61 50 74 | 72 20 3d 20 28 63 68 61 |.....aPt|r = (cha| |00002b20| 72 20 2a 29 26 61 70 70 | 6c 65 3b 0d 0d 09 09 6a |r *)&app|le;....j| |00002b30| 20 3d 20 64 69 72 52 63 | 64 2d 3e 6c 65 6e 5f 66 | = dirRc|d->len_f| |00002b40| 69 3b 0d 09 09 0d 09 09 | 69 66 20 28 6a 20 26 20 |i;......|if (j & | |00002b50| 31 29 0d 09 09 7b 0d 09 | 09 09 64 69 72 52 63 64 |1)...{..|..dirRcd| |00002b60| 2d 3e 66 69 5b 6a 5d 20 | 3d 20 30 3b 0d 09 09 09 |->fi[j] |= 0;....| |00002b70| 6a 2b 2b 3b 09 2f 2a 20 | 74 68 65 72 65 20 69 73 |j++;./* |there is| |00002b80| 20 61 20 70 61 64 20 62 | 79 74 65 20 61 66 74 65 | a pad b|yte afte| |00002b90| 72 20 6f 64 64 20 6c 65 | 6e 67 74 68 20 66 69 6c |r odd le|ngth fil| |00002ba0| 65 20 6e 61 6d 65 73 20 | 2a 2f 0d 09 09 7d 0d 09 |e names |*/...}..| |00002bb0| 09 0d 09 09 66 6f 72 20 | 28 69 20 3d 20 30 3b 20 |....for |(i = 0; | |00002bc0| 69 20 3c 3d 20 6c 69 6d | 69 74 3b 20 69 2b 2b 29 |i <= lim|it; i++)| |00002bd0| 0d 09 09 09 64 69 72 52 | 63 64 2d 3e 66 69 5b 69 |....dirR|cd->fi[i| |00002be0| 20 2b 20 6a 5d 20 3d 20 | 61 50 74 72 5b 69 5d 3b | + j] = |aPtr[i];| |00002bf0| 0d 09 09 0d 09 09 64 69 | 72 52 63 64 2d 3e 6c 65 |......di|rRcd->le| |00002c00| 6e 5f 64 72 20 2b 3d 20 | 6c 69 6d 69 74 3b 0d 09 |n_dr += |limit;..| |00002c10| 7d 0d 7d 09 0d 0d 0d 2f | 2a 2a 2a 2a 2a 2a 2a 2a |}.}..../|********| |00002c20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002c30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002c40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002c50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002c60| 0d 20 2a 0d 20 2a 20 20 | 46 75 6e 63 74 69 6f 6e |. *. * |Function| |00002c70| 3a 09 09 43 6f 70 79 44 | 69 72 52 63 64 54 6f 42 |:..CopyD|irRcdToB| |00002c80| 75 66 66 65 72 0d 20 2a | 0d 20 2a 20 20 50 75 72 |uffer. *|. * Pur| |00002c90| 70 6f 73 65 3a 09 09 63 | 6f 70 79 20 64 69 72 65 |pose:..c|opy dire| |00002ca0| 63 74 6f 72 79 20 72 65 | 63 6f 72 64 20 74 6f 20 |ctory re|cord to | |00002cb0| 62 75 66 66 65 72 0d 20 | 2a 0d 20 2a 20 20 52 65 |buffer. |*. * Re| |00002cc0| 74 75 72 6e 73 3a 09 09 | 6e 6f 74 68 69 6e 67 0d |turns:..|nothing.| |00002cd0| 20 2a 0d 20 2a 20 20 53 | 69 64 65 20 45 66 66 65 | *. * S|ide Effe| |00002ce0| 63 74 73 3a 09 62 75 66 | 66 65 72 20 69 73 20 66 |cts:.buf|fer is f| |00002cf0| 69 6c 6c 65 64 20 61 20 | 6c 69 74 74 6c 65 20 62 |illed a |little b| |00002d00| 69 74 20 6d 6f 72 65 0d | 20 2a 0d 20 2a 20 20 44 |it more.| *. * D| |00002d10| 65 73 63 72 69 70 74 69 | 6f 6e 3a 09 63 6f 70 79 |escripti|on:.copy| |00002d20| 20 61 20 64 69 72 65 63 | 74 6f 72 79 20 72 65 63 | a direc|tory rec| |00002d30| 6f 72 64 20 74 6f 20 74 | 68 65 20 62 75 66 66 65 |ord to t|he buffe| |00002d40| 72 2e 0d 20 2a 0d 20 2a | 2a 2a 2a 2a 2a 2a 2a 2a |r.. *. *|********| |00002d50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002d60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002d70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002d80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2f |********|*******/| |00002d90| 0d 76 6f 69 64 0d 43 6f | 70 79 44 69 72 52 63 64 |.void.Co|pyDirRcd| |00002da0| 54 6f 42 75 66 66 65 72 | 28 64 2c 20 62 29 0d 44 |ToBuffer|(d, b).D| |00002db0| 69 72 52 63 64 09 2a 64 | 3b 0d 63 68 61 72 09 2a |irRcd.*d|;.char.*| |00002dc0| 62 3b 0d 7b 0d 09 63 68 | 61 72 09 2a 64 50 72 69 |b;.{..ch|ar.*dPri| |00002dd0| 6d 65 3b 0d 09 73 68 6f | 72 74 09 69 3b 0d 09 0d |me;..sho|rt.i;...| |00002de0| 09 64 50 72 69 6d 65 20 | 3d 20 28 63 68 61 72 20 |.dPrime |= (char | |00002df0| 2a 29 64 3b 0d 09 66 6f | 72 20 28 69 20 3d 20 30 |*)d;..fo|r (i = 0| |00002e00| 3b 20 69 20 3c 20 64 2d | 3e 6c 65 6e 5f 64 72 3b |; i < d-|>len_dr;| |00002e10| 20 69 2b 2b 29 0d 09 09 | 2a 62 2b 2b 20 3d 20 2a | i++)...|*b++ = *| |00002e20| 64 50 72 69 6d 65 2b 2b | 3b 0d 7d 0d 0d 2f 2a 2a |dPrime++|;.}../**| |00002e30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002e40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002e50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002e60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00002e70| 2a 2a 2a 2a 2a 2a 0d 20 | 2a 0d 20 2a 20 20 46 75 |******. |*. * Fu| |00002e80| 6e 63 74 69 6f 6e 3a 09 | 09 43 6f 70 79 52 73 72 |nction:.|.CopyRsr| |00002e90| 63 46 6f 72 6b 0d 20 2a | 0d 20 2a 20 20 50 75 72 |cFork. *|. * Pur| |00002ea0| 70 6f 73 65 3a 09 09 63 | 6f 70 79 20 74 68 65 20 |pose:..c|opy the | |00002eb0| 72 65 73 6f 75 72 63 65 | 20 66 6f 72 6b 20 6f 66 |resource| fork of| |00002ec0| 20 61 20 66 69 6c 65 0d | 20 2a 0d 20 2a 20 20 52 | a file.| *. * R| |00002ed0| 65 74 75 72 6e 73 3a 09 | 09 4f 53 45 72 72 0d 20 |eturns:.|.OSErr. | |00002ee0| 2a 09 09 09 09 09 09 6d | 6f 73 74 6c 79 20 6e 6f |*......m|ostly no| |00002ef0| 45 72 72 2c 20 62 75 74 | 20 63 6f 75 6c 64 20 62 |Err, but| could b| |00002f00| 65 0d 20 2a 09 09 09 09 | 09 09 69 6f 45 72 72 20 |e. *....|..ioErr | |00002f10| 61 6e 64 20 74 68 65 20 | 6c 69 6b 65 20 69 66 20 |and the |like if | |00002f20| 69 73 6f 57 72 69 74 65 | 20 63 6f 6d 70 6c 61 69 |isoWrite| complai| |00002f30| 6e 73 2e 0d 20 2a 0d 20 | 2a 20 20 53 69 64 65 20 |ns.. *. |* Side | |00002f40| 45 66 66 65 63 74 73 3a | 09 66 6c 6f 70 70 79 20 |Effects:|.floppy | |00002f50| 67 65 74 73 20 6e 65 77 | 20 64 61 74 61 20 77 72 |gets new| data wr| |00002f60| 69 74 74 65 6e 20 6f 6e | 20 69 74 2e 0d 20 2a 0d |itten on| it.. *.| |00002f70| 20 2a 20 20 44 65 73 63 | 72 69 70 74 69 6f 6e 3a | * Desc|ription:| |00002f80| 09 77 65 20 68 61 76 65 | 20 61 20 73 74 61 72 74 |.we have| a start| |00002f90| 69 6e 67 20 6c 6f 63 61 | 74 69 6f 6e 2c 20 22 73 |ing loca|tion, "s| |00002fa0| 74 61 72 74 22 2c 20 61 | 6e 64 20 61 20 6c 65 6e |tart", a|nd a len| |00002fb0| 67 74 68 2e 0d 20 2a 09 | 09 09 09 09 41 6c 6c 6f |gth.. *.|....Allo| |00002fc0| 63 61 74 65 20 61 6e 20 | 61 70 70 72 6f 70 72 69 |cate an |appropri| |00002fd0| 61 74 65 20 62 75 66 66 | 65 72 20 61 6e 64 20 72 |ate buff|er and r| |00002fe0| 65 61 64 20 66 72 6f 6d | 20 74 68 65 20 66 69 6c |ead from| the fil| |00002ff0| 65 0d 20 2a 09 09 09 09 | 09 73 70 65 63 69 66 69 |e. *....|.specifi| |00003000| 65 64 20 62 79 20 22 6e | 61 6d 65 22 20 61 6e 64 |ed by "n|ame" and| |00003010| 20 22 76 52 65 66 4e 75 | 6d 22 2e 20 20 57 72 69 | "vRefNu|m". Wri| |00003020| 74 65 20 74 68 61 74 20 | 69 6e 66 6f 72 6d 61 74 |te that |informat| |00003030| 69 6f 6e 0d 20 2a 09 09 | 09 09 09 6f 75 74 20 74 |ion. *..|...out t| |00003040| 6f 20 74 68 65 20 66 6c | 6f 70 70 79 20 75 73 69 |o the fl|oppy usi| |00003050| 6e 67 20 6f 75 72 20 69 | 73 6f 57 72 69 74 65 20 |ng our i|soWrite | |00003060| 63 61 6c 6c 2e 0d 20 2a | 0d 20 2a 2a 2a 2a 2a 2a |call.. *|. ******| |00003070| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003080| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000030a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000030b0| 2a 2a 2f 0d 4f 53 45 72 | 72 0d 43 6f 70 79 52 73 |**/.OSEr|r.CopyRs| |000030c0| 72 63 46 6f 72 6b 28 72 | 65 66 65 72 65 6e 63 65 |rcFork(r|eference| |000030d0| 4e 75 6d 62 65 72 2c 20 | 6e 61 6d 65 2c 20 76 52 |Number, |name, vR| |000030e0| 65 66 4e 75 6d 2c 20 73 | 74 61 72 74 2c 20 6c 65 |efNum, s|tart, le| |000030f0| 6e 67 74 68 29 0d 73 68 | 6f 72 74 09 09 72 65 66 |ngth).sh|ort..ref| |00003100| 65 72 65 6e 63 65 4e 75 | 6d 62 65 72 3b 09 09 2f |erenceNu|mber;../| |00003110| 2a 20 72 65 66 65 72 65 | 6e 63 65 20 6e 75 6d 62 |* refere|nce numb| |00003120| 65 72 20 66 6f 72 20 76 | 6f 6c 75 6d 65 20 77 65 |er for v|olume we| |00003130| 27 72 65 20 77 72 69 74 | 69 6e 67 20 74 6f 2e 20 |'re writ|ing to. | |00003140| 2a 2f 0d 53 74 72 69 6e | 67 50 74 72 09 6e 61 6d |*/.Strin|gPtr.nam| |00003150| 65 3b 09 09 2f 2a 20 6e | 61 6d 65 20 6f 66 20 66 |e;../* n|ame of f| |00003160| 69 6c 65 2c 20 66 72 6f | 6d 20 48 46 53 46 69 6c |ile, fro|m HFSFil| |00003170| 65 28 29 20 2a 2f 0d 73 | 68 6f 72 74 09 09 76 52 |e() */.s|hort..vR| |00003180| 65 66 4e 75 6d 3b 09 2f | 2a 20 76 52 65 66 4e 75 |efNum;./|* vRefNu| |00003190| 6d 20 6f 66 20 66 69 6c | 65 2c 20 66 72 6f 6d 20 |m of fil|e, from | |000031a0| 48 46 53 46 69 6c 65 28 | 29 20 2a 2f 0d 6c 6f 6e |HFSFile(|) */.lon| |000031b0| 67 09 09 73 74 61 72 74 | 3b 09 09 2f 2a 20 77 68 |g..start|;../* wh| |000031c0| 65 72 65 20 74 6f 20 73 | 74 61 72 74 20 77 72 69 |ere to s|tart wri| |000031d0| 74 69 6e 67 20 74 6f 20 | 6f 6e 20 66 6c 6f 70 70 |ting to |on flopp| |000031e0| 79 2e 20 2a 2f 0d 6c 6f | 6e 67 09 09 6c 65 6e 67 |y. */.lo|ng..leng| |000031f0| 74 68 3b 09 09 2f 2a 20 | 68 6f 77 20 6d 75 63 68 |th;../* |how much| |00003200| 20 74 6f 20 77 72 69 74 | 65 20 2a 2f 0d 7b 0d 09 | to writ|e */.{..| |00003210| 50 74 72 09 72 73 72 63 | 42 75 66 3b 0d 09 50 61 |Ptr.rsrc|Buf;..Pa| |00003220| 72 61 6d 42 6c 6f 63 6b | 52 65 63 09 70 62 3b 0d |ramBlock|Rec.pb;.| |00003230| 09 42 6f 6f 6c 65 61 6e | 09 09 67 6f 4f 6e 3b 0d |.Boolean|..goOn;.| |00003240| 09 4f 53 45 72 72 09 09 | 72 65 73 75 6c 74 3b 0d |.OSErr..|result;.| |00003250| 09 6c 6f 6e 67 09 09 70 | 68 79 73 69 63 61 6c 4c |.long..p|hysicalL| |00003260| 65 6e 67 74 68 3b 0d 09 | 73 68 6f 72 74 09 09 6d |ength;..|short..m| |00003270| 79 52 65 66 4e 75 6d 3b | 0d 09 0d 09 43 6c 65 61 |yRefNum;|....Clea| |00003280| 72 4f 75 74 28 28 50 74 | 72 29 26 70 62 2c 20 73 |rOut((Pt|r)&pb, s| |00003290| 69 7a 65 6f 66 28 70 62 | 29 29 3b 0d 09 67 6f 4f |izeof(pb|));..goO| |000032a0| 6e 20 3d 20 74 72 75 65 | 3b 0d 09 70 68 79 73 69 |n = true|;..physi| |000032b0| 63 61 6c 4c 65 6e 67 74 | 68 20 3d 20 52 4f 55 4e |calLengt|h = ROUN| |000032c0| 44 5f 55 50 28 6c 65 6e | 67 74 68 29 3b 0d 09 0d |D_UP(len|gth);...| |000032d0| 09 72 73 72 63 42 75 66 | 20 3d 20 4e 65 77 50 74 |.rsrcBuf| = NewPt| |000032e0| 72 43 6c 65 61 72 28 70 | 68 79 73 69 63 61 6c 4c |rClear(p|hysicalL| |000032f0| 65 6e 67 74 68 29 3b 0d | 09 69 66 20 28 72 73 72 |ength);.|.if (rsr| |00003300| 63 42 75 66 20 3d 3d 20 | 4e 55 4c 4c 29 0d 09 7b |cBuf == |NULL)..{| |00003310| 0d 09 09 45 72 72 6f 72 | 4d 73 67 28 22 43 61 6e |...Error|Msg("Can| |00003320| 27 74 20 61 6c 6c 6f 63 | 61 74 65 20 25 6c 64 20 |'t alloc|ate %ld | |00003330| 62 79 74 65 73 20 66 6f | 72 20 43 6f 70 79 52 73 |bytes fo|r CopyRs| |00003340| 72 63 46 6f 72 6b 28 29 | 22 2c 20 6c 65 6e 67 74 |rcFork()|", lengt| |00003350| 68 29 3b 0d 09 09 72 65 | 74 75 72 6e 20 6d 46 75 |h);...re|turn mFu| |00003360| 6c 45 72 72 3b 09 2f 2a | 20 6e 6f 74 68 69 6e 67 |lErr;./*| nothing| |00003370| 20 74 6f 20 63 6c 65 61 | 6e 20 75 70 20 2a 2f 0d | to clea|n up */.| |00003380| 09 7d 0d 0d 09 70 62 2e | 69 6f 50 61 72 61 6d 2e |.}...pb.|ioParam.| |00003390| 69 6f 43 6f 6d 70 6c 65 | 74 69 6f 6e 20 3d 20 4e |ioComple|tion = N| |000033a0| 55 4c 4c 3b 0d 09 70 62 | 2e 69 6f 50 61 72 61 6d |ULL;..pb|.ioParam| |000033b0| 2e 69 6f 4e 61 6d 65 50 | 74 72 20 3d 20 6e 61 6d |.ioNameP|tr = nam| |000033c0| 65 3b 0d 09 70 62 2e 69 | 6f 50 61 72 61 6d 2e 69 |e;..pb.i|oParam.i| |000033d0| 6f 56 52 65 66 4e 75 6d | 20 3d 20 76 52 65 66 4e |oVRefNum| = vRefN| |000033e0| 75 6d 3b 0d 09 70 62 2e | 69 6f 50 61 72 61 6d 2e |um;..pb.|ioParam.| |000033f0| 69 6f 56 65 72 73 4e 75 | 6d 20 3d 20 30 3b 0d 09 |ioVersNu|m = 0;..| |00003400| 70 62 2e 69 6f 50 61 72 | 61 6d 2e 69 6f 50 65 72 |pb.ioPar|am.ioPer| |00003410| 6d 73 73 6e 20 3d 20 66 | 73 43 75 72 50 65 72 6d |mssn = f|sCurPerm| |00003420| 3b 0d 09 70 62 2e 69 6f | 50 61 72 61 6d 2e 69 6f |;..pb.io|Param.io| |00003430| 4d 69 73 63 20 3d 20 4e | 55 4c 4c 3b 0d 09 72 65 |Misc = N|ULL;..re| |00003440| 73 75 6c 74 20 3d 20 50 | 42 4f 70 65 6e 52 46 28 |sult = P|BOpenRF(| |00003450| 26 70 62 2c 20 66 61 6c | 73 65 29 3b 0d 09 69 66 |&pb, fal|se);..if| |00003460| 20 28 72 65 73 75 6c 74 | 20 21 3d 20 6e 6f 45 72 | (result| != noEr| |00003470| 72 29 0d 09 7b 0d 09 09 | 45 72 72 6f 72 4d 73 67 |r)..{...|ErrorMsg| |00003480| 28 22 43 6f 70 79 52 73 | 72 63 46 6f 72 6b 3a 20 |("CopyRs|rcFork: | |00003490| 50 42 4f 70 65 6e 52 46 | 20 72 65 74 75 72 6e 65 |PBOpenRF| returne| |000034a0| 64 20 25 64 22 2c 20 72 | 65 73 75 6c 74 29 3b 0d |d %d", r|esult);.| |000034b0| 09 09 45 72 72 6f 72 4d | 73 67 28 22 76 52 65 66 |..ErrorM|sg("vRef| |000034c0| 4e 75 6d 20 25 64 2c 20 | 6e 61 6d 65 20 25 73 22 |Num %d, |name %s"| |000034d0| 2c 20 76 52 65 66 4e 75 | 6d 2c 20 50 74 6f 43 73 |, vRefNu|m, PtoCs| |000034e0| 74 72 28 28 63 68 61 72 | 20 2a 29 6e 61 6d 65 29 |tr((char| *)name)| |000034f0| 29 3b 0d 09 09 43 74 6f | 50 73 74 72 28 28 63 68 |);...Cto|Pstr((ch| |00003500| 61 72 20 2a 29 6e 61 6d | 65 29 3b 0d 09 09 67 6f |ar *)nam|e);...go| |00003510| 4f 6e 20 3d 20 66 61 6c | 73 65 3b 0d 09 7d 0d 09 |On = fal|se;..}..| |00003520| 0d 09 69 66 20 28 67 6f | 4f 6e 29 0d 09 7b 0d 09 |..if (go|On)..{..| |00003530| 09 6d 79 52 65 66 4e 75 | 6d 20 3d 20 70 62 2e 69 |.myRefNu|m = pb.i| |00003540| 6f 50 61 72 61 6d 2e 69 | 6f 52 65 66 4e 75 6d 3b |oParam.i|oRefNum;| |00003550| 0d 09 09 72 65 73 75 6c | 74 20 3d 20 46 53 52 65 |...resul|t = FSRe| |00003560| 61 64 28 6d 79 52 65 66 | 4e 75 6d 2c 20 26 6c 65 |ad(myRef|Num, &le| |00003570| 6e 67 74 68 2c 20 72 73 | 72 63 42 75 66 29 3b 0d |ngth, rs|rcBuf);.| |00003580| 09 09 69 66 20 28 72 65 | 73 75 6c 74 20 21 3d 20 |..if (re|sult != | |00003590| 6e 6f 45 72 72 29 0d 09 | 09 7b 0d 09 09 09 45 72 |noErr)..|.{....Er| |000035a0| 72 6f 72 4d 73 67 28 22 | 43 6f 70 79 52 73 72 63 |rorMsg("|CopyRsrc| |000035b0| 46 6f 72 6b 3a 20 46 53 | 52 65 61 64 20 72 65 74 |Fork: FS|Read ret| |000035c0| 75 72 6e 65 64 20 25 64 | 22 2c 20 72 65 73 75 6c |urned %d|", resul| |000035d0| 74 29 3b 0d 09 09 09 67 | 6f 4f 6e 20 3d 20 66 61 |t);....g|oOn = fa| |000035e0| 6c 73 65 3b 0d 09 09 7d | 0d 09 7d 0d 09 0d 09 69 |lse;...}|..}....i| |000035f0| 66 20 28 67 6f 4f 6e 29 | 0d 09 7b 0d 09 09 72 65 |f (goOn)|..{...re| |00003600| 73 75 6c 74 20 3d 20 69 | 73 6f 57 72 69 74 65 28 |sult = i|soWrite(| |00003610| 72 65 66 65 72 65 6e 63 | 65 4e 75 6d 62 65 72 2c |referenc|eNumber,| |00003620| 20 72 73 72 63 42 75 66 | 2c 20 70 68 79 73 69 63 | rsrcBuf|, physic| |00003630| 61 6c 4c 65 6e 67 74 68 | 2c 20 73 74 61 72 74 29 |alLength|, start)| |00003640| 3b 0d 0d 09 09 69 66 20 | 28 72 65 73 75 6c 74 20 |;....if |(result | |00003650| 21 3d 20 6e 6f 45 72 72 | 29 0d 09 09 7b 0d 09 09 |!= noErr|)...{...| |00003660| 09 45 72 72 6f 72 4d 73 | 67 28 22 43 6f 70 79 52 |.ErrorMs|g("CopyR| |00003670| 73 72 63 46 6f 72 6b 3a | 20 69 73 6f 57 72 69 74 |srcFork:| isoWrit| |00003680| 65 20 72 65 74 75 72 6e | 65 64 20 25 64 22 2c 20 |e return|ed %d", | |00003690| 72 65 73 75 6c 74 29 3b | 0d 09 09 09 67 6f 4f 6e |result);|....goOn| |000036a0| 20 3d 20 66 61 6c 73 65 | 3b 0d 09 09 7d 0d 09 7d | = false|;...}..}| |000036b0| 0d 09 09 0d 09 50 42 43 | 6c 6f 73 65 28 26 70 62 |.....PBC|lose(&pb| |000036c0| 2c 20 66 61 6c 73 65 29 | 3b 0d 09 44 69 73 70 6f |, false)|;..Dispo| |000036d0| 73 50 74 72 28 72 73 72 | 63 42 75 66 29 3b 0d 09 |sPtr(rsr|cBuf);..| |000036e0| 72 65 74 75 72 6e 20 72 | 65 73 75 6c 74 3b 0d 7d |return r|esult;.}| |000036f0| 0d 0d 0d 0d 2f 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..../***|********| |00003700| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003710| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003720| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003730| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 20 2a |********|*****. *| |00003740| 0d 20 2a 20 20 46 75 6e | 63 74 69 6f 6e 3a 09 09 |. * Fun|ction:..| |00003750| 43 6f 70 79 44 61 74 61 | 46 6f 72 6b 0d 20 2a 0d |CopyData|Fork. *.| |00003760| 20 2a 20 20 50 75 72 70 | 6f 73 65 3a 09 09 63 6f | * Purp|ose:..co| |00003770| 70 79 20 74 68 65 20 72 | 65 73 6f 75 72 63 65 20 |py the r|esource | |00003780| 66 6f 72 6b 20 6f 66 20 | 61 20 66 69 6c 65 0d 20 |fork of |a file. | |00003790| 2a 0d 20 2a 20 20 52 65 | 74 75 72 6e 73 3a 09 09 |*. * Re|turns:..| |000037a0| 4f 53 45 72 72 0d 20 2a | 09 09 09 09 09 09 6d 6f |OSErr. *|......mo| |000037b0| 73 74 6c 79 20 6e 6f 45 | 72 72 2c 20 62 75 74 20 |stly noE|rr, but | |000037c0| 63 6f 75 6c 64 20 62 65 | 0d 20 2a 09 09 09 09 09 |could be|. *.....| |000037d0| 09 69 6f 45 72 72 20 61 | 6e 64 20 74 68 65 20 6c |.ioErr a|nd the l| |000037e0| 69 6b 65 20 69 66 20 69 | 73 6f 57 72 69 74 65 20 |ike if i|soWrite | |000037f0| 63 6f 6d 70 6c 61 69 6e | 73 2e 0d 20 2a 0d 20 2a |complain|s.. *. *| |00003800| 20 20 53 69 64 65 20 45 | 66 66 65 63 74 73 3a 09 | Side E|ffects:.| |00003810| 66 6c 6f 70 70 79 20 67 | 65 74 73 20 6e 65 77 20 |floppy g|ets new | |00003820| 64 61 74 61 20 77 72 69 | 74 74 65 6e 20 6f 6e 20 |data wri|tten on | |00003830| 69 74 2e 0d 20 2a 0d 20 | 2a 20 20 44 65 73 63 72 |it.. *. |* Descr| |00003840| 69 70 74 69 6f 6e 3a 09 | 77 65 20 68 61 76 65 20 |iption:.|we have | |00003850| 61 20 73 74 61 72 74 69 | 6e 67 20 6c 6f 63 61 74 |a starti|ng locat| |00003860| 69 6f 6e 2c 20 22 73 74 | 61 72 74 22 2c 20 61 6e |ion, "st|art", an| |00003870| 64 20 61 20 6c 65 6e 67 | 74 68 2e 0d 20 2a 09 09 |d a leng|th.. *..| |00003880| 09 09 09 41 6c 6c 6f 63 | 61 74 65 20 61 6e 20 61 |...Alloc|ate an a| |00003890| 70 70 72 6f 70 72 69 61 | 74 65 20 62 75 66 66 65 |ppropria|te buffe| |000038a0| 72 20 61 6e 64 20 72 65 | 61 64 20 66 72 6f 6d 20 |r and re|ad from | |000038b0| 74 68 65 20 66 69 6c 65 | 0d 20 2a 09 09 09 09 09 |the file|. *.....| |000038c0| 73 70 65 63 69 66 69 65 | 64 20 62 79 20 22 6e 61 |specifie|d by "na| |000038d0| 6d 65 22 20 61 6e 64 20 | 22 76 52 65 66 4e 75 6d |me" and |"vRefNum| |000038e0| 22 2e 20 20 57 72 69 74 | 65 20 74 68 61 74 20 69 |". Writ|e that i| |000038f0| 6e 66 6f 72 6d 61 74 69 | 6f 6e 0d 20 2a 09 09 09 |nformati|on. *...| |00003900| 09 09 6f 75 74 20 74 6f | 20 74 68 65 20 66 6c 6f |..out to| the flo| |00003910| 70 70 79 20 75 73 69 6e | 67 20 6f 75 72 20 69 73 |ppy usin|g our is| |00003920| 6f 57 72 69 74 65 20 63 | 61 6c 6c 2e 0d 20 2a 0d |oWrite c|all.. *.| |00003930| 20 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *******|********| |00003940| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003950| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003960| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003970| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 4f 53 45 72 72 |********|*/.OSErr| |00003980| 0d 43 6f 70 79 44 61 74 | 61 46 6f 72 6b 28 72 65 |.CopyDat|aFork(re| |00003990| 66 65 72 65 6e 63 65 4e | 75 6d 62 65 72 2c 20 6e |ferenceN|umber, n| |000039a0| 61 6d 65 2c 20 76 52 65 | 66 4e 75 6d 2c 20 73 74 |ame, vRe|fNum, st| |000039b0| 61 72 74 2c 20 6c 65 6e | 67 74 68 29 0d 73 68 6f |art, len|gth).sho| |000039c0| 72 74 09 09 72 65 66 65 | 72 65 6e 63 65 4e 75 6d |rt..refe|renceNum| |000039d0| 62 65 72 3b 09 09 2f 2a | 20 72 65 66 65 72 65 6e |ber;../*| referen| |000039e0| 63 65 20 6e 75 6d 62 65 | 72 20 66 6f 72 20 76 6f |ce numbe|r for vo| |000039f0| 6c 75 6d 65 20 77 65 27 | 72 65 20 77 72 69 74 69 |lume we'|re writi| |00003a00| 6e 67 20 74 6f 2e 20 2a | 2f 0d 53 74 72 69 6e 67 |ng to. *|/.String| |00003a10| 50 74 72 09 6e 61 6d 65 | 3b 09 09 2f 2a 20 6e 61 |Ptr.name|;../* na| |00003a20| 6d 65 20 6f 66 20 66 69 | 6c 65 2c 20 66 72 6f 6d |me of fi|le, from| |00003a30| 20 48 46 53 46 69 6c 65 | 28 29 20 2a 2f 0d 73 68 | HFSFile|() */.sh| |00003a40| 6f 72 74 09 09 76 52 65 | 66 4e 75 6d 3b 09 2f 2a |ort..vRe|fNum;./*| |00003a50| 20 76 52 65 66 4e 75 6d | 20 6f 66 20 66 69 6c 65 | vRefNum| of file| |00003a60| 2c 20 66 72 6f 6d 20 48 | 46 53 46 69 6c 65 28 29 |, from H|FSFile()| |00003a70| 20 2a 2f 0d 6c 6f 6e 67 | 09 09 73 74 61 72 74 3b | */.long|..start;| |00003a80| 09 09 2f 2a 20 77 68 65 | 72 65 20 74 6f 20 73 74 |../* whe|re to st| |00003a90| 61 72 74 20 77 72 69 74 | 69 6e 67 20 74 6f 20 6f |art writ|ing to o| |00003aa0| 6e 20 66 6c 6f 70 70 79 | 2e 20 2a 2f 0d 6c 6f 6e |n floppy|. */.lon| |00003ab0| 67 09 09 6c 65 6e 67 74 | 68 3b 09 09 2f 2a 20 68 |g..lengt|h;../* h| |00003ac0| 6f 77 20 6d 75 63 68 20 | 74 6f 20 77 72 69 74 65 |ow much |to write| |00003ad0| 20 2a 2f 0d 7b 0d 09 50 | 74 72 09 64 61 74 61 42 | */.{..P|tr.dataB| |00003ae0| 75 66 3b 0d 09 50 61 72 | 61 6d 42 6c 6f 63 6b 52 |uf;..Par|amBlockR| |00003af0| 65 63 09 70 62 3b 0d 09 | 42 6f 6f 6c 65 61 6e 09 |ec.pb;..|Boolean.| |00003b00| 09 67 6f 4f 6e 3b 0d 09 | 4f 53 45 72 72 09 09 72 |.goOn;..|OSErr..r| |00003b10| 65 73 75 6c 74 3b 0d 09 | 6c 6f 6e 67 09 09 70 68 |esult;..|long..ph| |00003b20| 79 73 69 63 61 6c 4c 65 | 6e 67 74 68 3b 0d 09 73 |ysicalLe|ngth;..s| |00003b30| 68 6f 72 74 09 09 6d 79 | 52 65 66 4e 75 6d 3b 0d |hort..my|RefNum;.| |00003b40| 09 0d 09 43 6c 65 61 72 | 4f 75 74 28 28 50 74 72 |...Clear|Out((Ptr| |00003b50| 29 26 70 62 2c 20 73 69 | 7a 65 6f 66 28 70 62 29 |)&pb, si|zeof(pb)| |00003b60| 29 3b 0d 09 67 6f 4f 6e | 20 3d 20 74 72 75 65 3b |);..goOn| = true;| |00003b70| 0d 09 70 68 79 73 69 63 | 61 6c 4c 65 6e 67 74 68 |..physic|alLength| |00003b80| 20 3d 20 52 4f 55 4e 44 | 5f 55 50 28 6c 65 6e 67 | = ROUND|_UP(leng| |00003b90| 74 68 29 3b 0d 09 0d 09 | 64 61 74 61 42 75 66 20 |th);....|dataBuf | |00003ba0| 3d 20 4e 65 77 50 74 72 | 43 6c 65 61 72 28 70 68 |= NewPtr|Clear(ph| |00003bb0| 79 73 69 63 61 6c 4c 65 | 6e 67 74 68 29 3b 0d 09 |ysicalLe|ngth);..| |00003bc0| 69 66 20 28 64 61 74 61 | 42 75 66 20 3d 3d 20 4e |if (data|Buf == N| |00003bd0| 55 4c 4c 29 0d 09 7b 0d | 09 09 45 72 72 6f 72 4d |ULL)..{.|..ErrorM| |00003be0| 73 67 28 22 43 61 6e 27 | 74 20 61 6c 6c 6f 63 61 |sg("Can'|t alloca| |00003bf0| 74 65 20 25 6c 64 20 62 | 79 74 65 73 20 66 6f 72 |te %ld b|ytes for| |00003c00| 20 43 6f 70 79 44 61 74 | 61 46 6f 72 6b 28 29 22 | CopyDat|aFork()"| |00003c10| 2c 20 6c 65 6e 67 74 68 | 29 3b 0d 09 09 72 65 74 |, length|);...ret| |00003c20| 75 72 6e 20 6d 46 75 6c | 45 72 72 3b 09 2f 2a 20 |urn mFul|Err;./* | |00003c30| 6e 6f 74 68 69 6e 67 20 | 74 6f 20 63 6c 65 61 6e |nothing |to clean| |00003c40| 20 75 70 20 2a 2f 0d 09 | 7d 0d 09 0d 09 70 62 2e | up */..|}....pb.| |00003c50| 69 6f 50 61 72 61 6d 2e | 69 6f 43 6f 6d 70 6c 65 |ioParam.|ioComple| |00003c60| 74 69 6f 6e 20 3d 20 4e | 55 4c 4c 3b 0d 09 70 62 |tion = N|ULL;..pb| |00003c70| 2e 69 6f 50 61 72 61 6d | 2e 69 6f 4e 61 6d 65 50 |.ioParam|.ioNameP| |00003c80| 74 72 20 3d 20 6e 61 6d | 65 3b 0d 09 70 62 2e 69 |tr = nam|e;..pb.i| |00003c90| 6f 50 61 72 61 6d 2e 69 | 6f 56 52 65 66 4e 75 6d |oParam.i|oVRefNum| |00003ca0| 20 3d 20 76 52 65 66 4e | 75 6d 3b 0d 09 70 62 2e | = vRefN|um;..pb.| |00003cb0| 69 6f 50 61 72 61 6d 2e | 69 6f 56 65 72 73 4e 75 |ioParam.|ioVersNu| |00003cc0| 6d 20 3d 20 30 3b 0d 09 | 70 62 2e 69 6f 50 61 72 |m = 0;..|pb.ioPar| |00003cd0| 61 6d 2e 69 6f 50 65 72 | 6d 73 73 6e 20 3d 20 66 |am.ioPer|mssn = f| |00003ce0| 73 43 75 72 50 65 72 6d | 3b 0d 09 70 62 2e 69 6f |sCurPerm|;..pb.io| |00003cf0| 50 61 72 61 6d 2e 69 6f | 4d 69 73 63 20 3d 20 4e |Param.io|Misc = N| |00003d00| 55 4c 4c 3b 0d 09 72 65 | 73 75 6c 74 20 3d 20 50 |ULL;..re|sult = P| |00003d10| 42 4f 70 65 6e 28 26 70 | 62 2c 20 66 61 6c 73 65 |BOpen(&p|b, false| |00003d20| 29 3b 0d 09 69 66 20 28 | 72 65 73 75 6c 74 20 21 |);..if (|result !| |00003d30| 3d 20 6e 6f 45 72 72 29 | 0d 09 7b 0d 09 09 45 72 |= noErr)|..{...Er| |00003d40| 72 6f 72 4d 73 67 28 22 | 43 6f 70 79 44 61 74 61 |rorMsg("|CopyData| |00003d50| 46 6f 72 6b 3a 20 50 42 | 4f 70 65 6e 20 72 65 74 |Fork: PB|Open ret| |00003d60| 75 72 6e 65 64 20 25 64 | 22 2c 20 72 65 73 75 6c |urned %d|", resul| |00003d70| 74 29 3b 0d 09 09 45 72 | 72 6f 72 4d 73 67 28 22 |t);...Er|rorMsg("| |00003d80| 76 52 65 66 4e 75 6d 20 | 25 64 2c 20 6e 61 6d 65 |vRefNum |%d, name| |00003d90| 20 25 73 22 2c 20 76 52 | 65 66 4e 75 6d 2c 20 50 | %s", vR|efNum, P| |00003da0| 74 6f 43 73 74 72 28 28 | 63 68 61 72 20 2a 29 6e |toCstr((|char *)n| |00003db0| 61 6d 65 29 29 3b 0d 09 | 09 43 74 6f 50 73 74 72 |ame));..|.CtoPstr| |00003dc0| 28 28 63 68 61 72 20 2a | 29 6e 61 6d 65 29 3b 0d |((char *|)name);.| |00003dd0| 09 09 67 6f 4f 6e 20 3d | 20 66 61 6c 73 65 3b 0d |..goOn =| false;.| |00003de0| 09 7d 0d 09 0d 09 69 66 | 20 28 67 6f 4f 6e 29 0d |.}....if| (goOn).| |00003df0| 09 7b 0d 09 09 6d 79 52 | 65 66 4e 75 6d 20 3d 20 |.{...myR|efNum = | |00003e00| 70 62 2e 69 6f 50 61 72 | 61 6d 2e 69 6f 52 65 66 |pb.ioPar|am.ioRef| |00003e10| 4e 75 6d 3b 0d 09 09 72 | 65 73 75 6c 74 20 3d 20 |Num;...r|esult = | |00003e20| 46 53 52 65 61 64 28 6d | 79 52 65 66 4e 75 6d 2c |FSRead(m|yRefNum,| |00003e30| 20 26 6c 65 6e 67 74 68 | 2c 20 64 61 74 61 42 75 | &length|, dataBu| |00003e40| 66 29 3b 0d 09 09 69 66 | 20 28 72 65 73 75 6c 74 |f);...if| (result| |00003e50| 20 21 3d 20 6e 6f 45 72 | 72 29 0d 09 09 7b 0d 09 | != noEr|r)...{..| |00003e60| 09 09 45 72 72 6f 72 4d | 73 67 28 22 43 6f 70 79 |..ErrorM|sg("Copy| |00003e70| 44 61 74 61 46 6f 72 6b | 3a 20 46 53 52 65 61 64 |DataFork|: FSRead| |00003e80| 20 72 65 74 75 72 6e 65 | 64 20 25 64 22 2c 20 72 | returne|d %d", r| |00003e90| 65 73 75 6c 74 29 3b 0d | 09 09 09 67 6f 4f 6e 20 |esult);.|...goOn | |00003ea0| 3d 20 66 61 6c 73 65 3b | 0d 09 09 7d 0d 09 7d 0d |= false;|...}..}.| |00003eb0| 09 0d 09 69 66 20 28 67 | 6f 4f 6e 29 0d 09 7b 0d |...if (g|oOn)..{.| |00003ec0| 09 09 72 65 73 75 6c 74 | 20 3d 20 69 73 6f 57 72 |..result| = isoWr| |00003ed0| 69 74 65 28 72 65 66 65 | 72 65 6e 63 65 4e 75 6d |ite(refe|renceNum| |00003ee0| 62 65 72 2c 20 64 61 74 | 61 42 75 66 2c 20 70 68 |ber, dat|aBuf, ph| |00003ef0| 79 73 69 63 61 6c 4c 65 | 6e 67 74 68 2c 20 73 74 |ysicalLe|ngth, st| |00003f00| 61 72 74 29 3b 0d 0d 09 | 09 69 66 20 28 72 65 73 |art);...|.if (res| |00003f10| 75 6c 74 20 21 3d 20 6e | 6f 45 72 72 29 0d 09 09 |ult != n|oErr)...| |00003f20| 7b 0d 09 09 09 45 72 72 | 6f 72 4d 73 67 28 22 43 |{....Err|orMsg("C| |00003f30| 6f 70 79 44 61 74 61 46 | 6f 72 6b 3a 20 69 73 6f |opyDataF|ork: iso| |00003f40| 57 72 69 74 65 20 72 65 | 74 75 72 6e 65 64 20 25 |Write re|turned %| |00003f50| 64 22 2c 20 72 65 73 75 | 6c 74 29 3b 0d 09 09 09 |d", resu|lt);....| |00003f60| 67 6f 4f 6e 20 3d 20 66 | 61 6c 73 65 3b 0d 09 09 |goOn = f|alse;...| |00003f70| 7d 0d 09 7d 0d 09 0d 09 | 50 42 43 6c 6f 73 65 28 |}..}....|PBClose(| |00003f80| 26 70 62 2c 20 66 61 6c | 73 65 29 3b 0d 09 44 69 |&pb, fal|se);..Di| |00003f90| 73 70 6f 73 50 74 72 28 | 64 61 74 61 42 75 66 29 |sposPtr(|dataBuf)| |00003fa0| 3b 0d 09 72 65 74 75 72 | 6e 20 72 65 73 75 6c 74 |;..retur|n result| |00003fb0| 3b 0d 7d 0d 0d 2f 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |;.}../**|********| |00003fc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003fd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003fe0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00003ff0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 20 |********|******. | |00004000| 2a 0d 20 2a 20 20 46 75 | 6e 63 74 69 6f 6e 3a 09 |*. * Fu|nction:.| |00004010| 09 43 72 65 61 74 65 46 | 69 6c 65 73 0d 20 2a 0d |.CreateF|iles. *.| |00004020| 20 2a 20 20 50 75 72 70 | 6f 73 65 3a 09 09 63 72 | * Purp|ose:..cr| |00004030| 65 61 74 65 20 66 69 6c | 65 73 20 69 6e 20 74 68 |eate fil|es in th| |00004040| 65 20 72 6f 6f 74 20 6f | 66 20 61 20 49 53 4f 20 |e root o|f a ISO | |00004050| 66 6c 6f 70 70 79 2e 0d | 20 2a 09 0d 20 2a 20 20 |floppy..| *.. * | |00004060| 52 65 74 75 72 6e 73 3a | 09 09 6e 6f 74 68 69 6e |Returns:|..nothin| |00004070| 67 0d 20 2a 0d 20 2a 20 | 20 53 69 64 65 20 45 66 |g. *. * | Side Ef| |00004080| 66 65 63 74 73 3a 09 66 | 6c 6f 70 70 79 20 67 65 |fects:.f|loppy ge| |00004090| 74 73 20 6e 65 77 20 64 | 61 74 61 20 69 6e 20 66 |ts new d|ata in f| |000040a0| 61 6d 6f 75 73 20 72 6f | 6f 74 20 61 72 65 61 0d |amous ro|ot area.| |000040b0| 20 2a 0d 20 2a 20 20 44 | 65 73 63 72 69 70 74 69 | *. * D|escripti| |000040c0| 6f 6e 3a 09 46 6f 72 20 | 65 61 63 68 20 66 69 6c |on:.For |each fil| |000040d0| 65 2c 20 66 69 6e 64 20 | 74 68 65 20 73 69 7a 65 |e, find |the size| |000040e0| 20 6f 66 20 74 68 65 20 | 74 77 6f 20 66 6f 72 6b | of the |two fork| |000040f0| 73 2e 0d 20 2a 09 09 09 | 09 09 43 6f 70 79 20 74 |s.. *...|..Copy t| |00004100| 68 65 20 72 65 73 6f 75 | 72 63 65 20 66 6f 72 6b |he resou|rce fork| |00004110| 20 66 69 72 73 74 2c 20 | 74 68 65 6e 20 74 68 65 | first, |then the| |00004120| 20 64 61 74 61 20 66 6f | 72 6b 0d 20 2a 09 09 09 | data fo|rk. *...| |00004130| 09 09 28 61 73 73 6f 63 | 69 61 74 65 64 20 66 69 |..(assoc|iated fi| |00004140| 6c 65 73 20 63 6f 6d 65 | 20 62 65 66 6f 72 65 20 |les come| before | |00004150| 64 61 74 61 20 66 69 6c | 65 73 20 69 6e 20 49 53 |data fil|es in IS| |00004160| 4f 29 0d 20 2a 0d 20 2a | 2a 2a 2a 2a 2a 2a 2a 2a |O). *. *|********| |00004170| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00004180| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |00004190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********| |000041a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2f |********|*******/| |000041b0| 0d 76 6f 69 64 0d 43 72 | 65 61 74 65 46 69 6c 65 |.void.Cr|eateFile| |000041c0| 73 28 72 65 66 65 72 65 | 6e 63 65 4e 75 6d 62 65 |s(refere|nceNumbe| |000041d0| 72 29 0d 73 68 6f 72 74 | 09 72 65 66 65 72 65 6e |r).short|.referen| |000041e0| 63 65 4e 75 6d 62 65 72 | 3b 0d 7b 0d 09 53 74 72 |ceNumber|;.{..Str| |000041f0| 69 6e 67 50 74 72 09 6e | 61 6d 65 3b 0d 09 73 68 |ingPtr.n|ame;..sh| |00004200| 6f 72 74 09 76 52 65 66 | 4e 75 6d 3b 0d 09 44 69 |ort.vRef|Num;..Di| |00004210| 72 52 63 64 09 64 69 72 | 52 63 64 3b 0d 09 6c 6f |rRcd.dir|Rcd;..lo| |00004220| 6e 67 09 73 74 61 72 74 | 3b 09 09 2f 2a 20 77 68 |ng.start|;../* wh| |00004230| 65 72 65 20 77 65 20 73 | 74 61 72 74 20 70 75 74 |ere we s|tart put| |00004240| 74 69 6e 67 20 64 61 74 | 61 20 6f 6e 20 74 68 65 |ting dat|a on the| |00004250| 20 43 44 20 2a 2f 0d 09 | 6c 6f 6e 67 09 72 73 72 | CD */..|long.rsr| |00004260| 63 4c 65 6e 67 74 68 3b | 0d 09 6c 6f 6e 67 09 64 |cLength;|..long.d| |00004270| 61 74 61 4c 65 6e 67 74 | 68 3b 0d 09 63 68 61 72 |ataLengt|h;..char| |00004280| 09 2a 62 3b 0d 09 4f 53 | 45 72 72 09 72 65 73 75 |.*b;..OS|Err.resu| |00004290| 6c 74 3b 0d 09 4f 53 54 | 79 70 65 09 66 54 79 70 |lt;..OST|ype.fTyp| |000042a0| 65 3b 0d 09 4f 53 54 79 | 70 65 09 66 43 72 65 61 |e;..OSTy|pe.fCrea| |000042b0| 74 6f 72 3b 0d 09 73 68 | 6f 72 74 09 66 6c 61 67 |tor;..sh|ort.flag| |000042c0| 73 3b 0d 09 73 68 6f 72 | 74 09 49 53 4f 46 6c 61 |s;..shor|t.ISOFla| |000042d0| 67 73 3b 0d 09 63 68 61 | 72 09 62 75 66 66 65 72 |gs;..cha|r.buffer| |000042e0| 5b 43 44 42 4c 4b 53 49 | 5a 45 5d 3b 0d 09 0d 09 |[CDBLKSI|ZE];....| |000042f0| 0d 09 43 6c 65 61 72 4f | 75 74 28 62 75 66 66 65 |..ClearO|ut(buffe| |00004300| 72 2c 20 73 69 7a 65 6f | 66 28 62 75 66 66 65 72 |r, sizeo|f(buffer| |00004310| 29 29 3b 0d 09 62 20 3d | 20 26 62 75 66 66 65 72 |));..b =| &buffer| |00004320| 5b 30 5d 3b 0d 09 6e 61 | 6d 65 20 3d 20 28 53 74 |[0];..na|me = (St| |00004330| 72 69 6e 67 50 74 72 29 | 4e 65 77 50 74 72 28 32 |ringPtr)|NewPtr(2| |00004340| 35 35 29 3b 0d 09 69 66 | 20 28 6e 61 6d 65 20 3d |55);..if| (name =| |00004350| 3d 20 4e 55 4c 4c 29 0d | 09 7b 0d 09 09 45 72 72 |= NULL).|.{...Err| |00004360| 6f 72 4d 73 67 28 22 43 | 61 6e 27 74 20 61 6c 6c |orMsg("C|an't all| |00004370| 6f 63 61 74 65 20 32 35 | 35 20 62 79 74 65 73 20 |ocate 25|5 bytes | |00004380| 66 6f 72 20 61 20 73 74 | 72 69 6e 67 2e 22 29 3b |for a st|ring.");| |00004390| 0d 09 09 72 65 74 75 72 | 6e 3b 0d 09 7d 0d 0d 09 |...retur|n;..}...| |000043a0| 43 72 65 61 74 65 44 69 | 72 52 63 64 28 26 64 69 |CreateDi|rRcd(&di| |000043b0| 72 52 63 64 2c 20 72 6f | 6f 74 4e 61 6d 65 2c 20 |rRcd, ro|otName, | |000043c0| 44 49 52 45 43 54 4f 52 | 59 2c 20 43 44 42 4c 4b |DIRECTOR|Y, CDBLK| |000043d0| 53 49 5a 45 2c 20 28 73 | 68 6f 72 74 29 20 64 69 |SIZE, (s|hort) di| |000043e0| 72 65 63 74 6f 72 79 42 | 69 74 2c 20 30 4c 2c 20 |rectoryB|it, 0L, | |000043f0| 30 4c 2c 20 30 29 3b 0d | 09 43 6f 70 79 44 69 72 |0L, 0);.|.CopyDir| |00004400| 52 63 64 54 6f 42 75 66 | 66 65 72 28 26 64 69 72 |RcdToBuf|fer(&dir| |00004410| 52 63 64 2c 20 62 29 3b | 0d 09 62 20 2b 3d 20 64 |Rcd, b);|..b += d| |00004420| 69 72 52 63 64 2e 6c 65 | 6e 5f 64 72 3b 0d 0d 09 |irRcd.le|n_dr;...| |00004430| 43 72 65 61 74 65 44 69 | 72 52 63 64 28 26 64 69 |CreateDi|rRcd(&di| |00004440| 72 52 63 64 2c 20 70 61 | 72 65 6e 74 4e 61 6d 65 |rRcd, pa|rentName| |00004450| 2c 20 44 49 52 45 43 54 | 4f 52 59 2c 20 43 44 42 |, DIRECT|ORY, CDB| |00004460| 4c 4b 53 49 5a 45 2c 20 | 28 73 68 6f 72 74 29 20 |LKSIZE, |(short) | |00004470| 64 69 72 65 63 74 6f 72 | 79 42 69 74 2c 20 30 4c |director|yBit, 0L| |00004480| 2c 20 30 4c 2c 20 30 29 | 3b 0d 09 43 6f 70 79 44 |, 0L, 0)|;..CopyD| |00004490| 69 72 52 63 64 54 6f 42 | 75 66 66 65 72 28 26 64 |irRcdToB|uffer(&d| |000044a0| 69 72 52 63 64 2c 20 62 | 29 3b 0d 09 62 20 2b 3d |irRcd, b|);..b +=| |000044b0| 20 64 69 72 52 63 64 2e | 6c 65 6e 5f 64 72 3b 0d | dirRcd.|len_dr;.| |000044c0| 0d 09 73 74 61 72 74 20 | 3d 20 44 41 54 41 53 54 |..start |= DATAST| |000044d0| 41 52 54 20 2a 20 43 44 | 42 4c 4b 53 49 5a 45 3b |ART * CD|BLKSIZE;| |000044e0| 0d 0d 09 2f 2a 20 4b 65 | 65 70 20 61 73 6b 69 6e |.../* Ke|ep askin| |000044f0| 67 20 66 6f 72 20 6e 61 | 6d 65 73 2c 20 65 76 65 |g for na|mes, eve| |00004500| 6e 20 69 66 20 65 72 72 | 6f 72 73 20 6f 63 63 75 |n if err|ors occu| |00004510| 72 2e 20 20 4d 6f 73 74 | 20 65 72 72 6f 72 73 20 |r. Most| errors | |00004520| 77 69 6c 6c 20 62 65 20 | 62 65 63 61 75 73 65 0d |will be |because.| |00004530| 09 20 2a 20 54 68 65 20 | 75 73 65 72 20 74 72 69 |. * The |user tri| |00004540| 65 64 20 74 6f 20 63 6f | 70 79 20 74 6f 6f 20 62 |ed to co|py too b| |00004550| 69 67 20 6f 66 20 61 20 | 66 69 6c 65 20 74 6f 20 |ig of a |file to | |00004560| 74 68 65 20 66 6c 6f 70 | 70 79 2e 20 0d 09 20 2a |the flop|py. .. *| |00004570| 2f 0d 09 77 68 69 6c 65 | 20 28 48 46 53 46 69 6c |/..while| (HFSFil| |00004580| 65 28 6e 61 6d 65 2c 20 | 26 76 52 65 66 4e 75 6d |e(name, |&vRefNum| |00004590| 29 20 3d 3d 20 74 72 75 | 65 29 0d 09 7b 0d 09 09 |) == tru|e)..{...| |000045a0| 72 65 73 75 6c 74 20 3d | 20 47 65 74 46 69 6c 65 |result =| GetFile| |000045b0| 49 6e 66 6f 28 6e 61 6d | 65 2c 20 76 52 65 66 4e |Info(nam|e, vRefN| |000045c0| 75 6d 2c 20 26 72 73 72 | 63 4c 65 6e 67 74 68 2c |um, &rsr|cLength,| |000045d0| 20 26 64 61 74 61 4c 65 | 6e 67 74 68 2c 20 26 66 | &dataLe|ngth, &f| |000045e0| 54 79 70 65 2c 20 26 66 | 43 72 65 61 74 6f 72 2c |Type, &f|Creator,| |000045f0| 20 26 66 6c 61 67 73 29 | 3b 0d 09 09 69 66 20 28 | &flags)|;...if (| |00004600| 72 65 73 75 6c 74 20 21 | 3d 20 6e 6f 45 72 72 29 |result !|= noErr)| |00004610| 0d 09 09 09 45 72 72 6f | 72 4d 73 67 28 22 43 61 |....Erro|rMsg("Ca| |00004620| 6e 27 74 20 67 65 74 20 | 66 69 6c 65 20 69 6e 66 |n't get |file inf| |00004630| 6f 72 6d 61 74 69 6f 6e | 20 66 6f 72 20 25 73 22 |ormation| for %s"| |00004640| 2c 20 6e 61 6d 65 29 3b | 0d 09 09 65 6c 73 65 0d |, name);|...else.| |00004650| 09 09 7b 0d 09 09 09 49 | 53 4f 46 6c 61 67 73 20 |..{....I|SOFlags | |00004660| 3d 20 28 66 6c 61 67 73 | 20 26 20 66 49 6e 76 69 |= (flags| & fInvi| |00004670| 73 69 62 6c 65 29 20 3f | 20 65 78 69 73 74 65 6e |sible) ?| existen| |00004680| 63 65 42 69 74 20 3a 20 | 30 3b 0d 09 0d 09 09 09 |ceBit : |0;......| |00004690| 69 66 20 28 72 73 72 63 | 4c 65 6e 67 74 68 20 21 |if (rsrc|Length !| |000046a0| 3d 20 30 4c 29 0d 09 09 | 09 7b 0d 09 09 09 09 43 |= 0L)...|.{.....C| |000046b0| 72 65 61 74 65 44 69 72 | 52 63 64 28 26 64 69 72 |reateDir|Rcd(&dir| |000046c0| 52 63 64 2c 20 6e 61 6d | 65 2c 20 73 74 61 72 74 |Rcd, nam|e, start| |000046d0| 2f 43 44 42 4c 4b 53 49 | 5a 45 2c 20 72 73 72 63 |/CDBLKSI|ZE, rsrc| |000046e0| 4c 65 6e 67 74 68 2c 20 | 49 53 4f 46 6c 61 67 73 |Length, |ISOFlags| |000046f0| 20 7c 20 61 73 73 6f 63 | 69 61 74 65 64 42 69 74 | | assoc|iatedBit| |00004700| 2c 0d 09 09 09 09 09 66 | 54 79 70 65 2c 20 66 43 |,......f|Type, fC| |00004710| 72 65 61 74 6f 72 2c 20 | 66 6c 61 67 73 29 3b 0d |reator, |flags);.| |00004720| 09 0d 09 09 09 09 72 65 | 73 75 6c 74 20 3d 20 43 |......re|sult = C| |00004730| 6f 70 79 52 73 72 63 46 | 6f 72 6b 28 72 65 66 65 |opyRsrcF|ork(refe| |00004740| 72 65 6e 63 65 4e 75 6d | 62 65 72 2c 20 6e 61 6d |renceNum|ber, nam| |00004750| 65 2c 20 76 52 65 66 4e | 75 6d 2c 20 73 74 61 72 |e, vRefN|um, star| |00004760| 74 2c 20 72 73 72 63 4c | 65 6e 67 74 68 29 3b 0d |t, rsrcL|ength);.| |00004770| 09 09 09 09 69 66 20 28 | 72 65 73 75 6c 74 20 3d |....if (|result =| |00004780| 3d 20 6e 6f 45 72 72 29 | 0d 09 09 09 09 7b 0d 09 |= noErr)|.....{..| |00004790| 09 09 09 09 43 6f 70 79 | 44 69 72 52 63 64 54 6f |....Copy|DirRcdTo| |000047a0| 42 75 66 66 65 72 28 26 | 64 69 72 52 63 64 2c 20 |Buffer(&|dirRcd, | |000047b0| 62 29 3b 0d 09 09 09 09 | 09 62 20 2b 3d 20 64 69 |b);.....|.b += di| |000047c0| 72 52 63 64 2e 6c 65 6e | 5f 64 72 3b 0d 09 09 09 |rRcd.len|_dr;....| |000047d0| 09 09 73 74 61 72 74 20 | 3d 20 52 4f 55 4e 44 5f |..start |= ROUND_| |000047e0| 55 50 28 73 74 61 72 74 | 2b 72 73 72 63 4c 65 6e |UP(start|+rsrcLen| |000047f0| 67 74 68 29 3b 0d 09 09 | 09 09 7d 0d 09 09 09 09 |gth);...|..}.....| |00004800| 65 6c 73 65 0d 09 09 09 | 09 09 45 72 72 6f 72 4d |else....|..ErrorM| |00004810| 73 67 28 22 46 61 69 6c | 65 64 20 74 6f 20 63 6f |sg("Fail|ed to co| |00004820| 70 79 20 72 65 73 6f 75 | 72 63 65 20 66 6f 72 6b |py resou|rce fork| |00004830| 2e 22 29 3b 0d 09 09 0d | 09 09 09 7d 0d 09 0d 09 |.");....|...}....| |00004840| 09 09 69 66 20 28 72 65 | 73 75 6c 74 20 3d 3d 20 |..if (re|sult == | |00004850| 6e 6f 45 72 72 29 0d 09 | 09 09 7b 0d 09 09 09 09 |noErr)..|..{.....| |00004860| 43 72 65 61 74 65 44 69 | 72 52 63 64 28 26 64 69 |CreateDi|rRcd(&di| |00004870| 72 52 63 64 2c 20 6e 61 | 6d 65 2c 20 73 74 61 72 |rRcd, na|me, star| |00004880| 74 2f 43 44 42 4c 4b 53 | 49 5a 45 2c 20 64 61 74 |t/CDBLKS|IZE, dat| |00004890| 61 4c 65 6e 67 74 68 2c | 20 49 53 4f 46 6c 61 67 |aLength,| ISOFlag| |000048a0| 73 2c 20 0d 09 09 09 09 | 09 66 54 79 70 65 2c 20 |s, .....|.fType, | |000048b0| 66 43 72 65 61 74 6f 72 | 2c 20 66 6c 61 67 73 29 |fCreator|, flags)| |000048c0| 3b 0d 09 09 0d 09 09 09 | 09 72 65 73 75 6c 74 20 |;.......|.result | |000048d0| 3d 20 43 6f 70 79 44 61 | 74 61 46 6f 72 6b 28 72 |= CopyDa|taFork(r| |000048e0| 65 66 65 72 65 6e 63 65 | 4e 75 6d 62 65 72 2c 20 |eference|Number, | |000048f0| 6e 61 6d 65 2c 20 76 52 | 65 66 4e 75 6d 2c 20 73 |name, vR|efNum, s| |00004900| 74 61 72 74 2c 20 64 61 | 74 61 4c 65 6e 67 74 68 |tart, da|taLength| |00004910| 29 3b 0d 09 09 09 09 69 | 66 20 28 72 65 73 75 6c |);.....i|f (resul| |00004920| 74 20 3d 3d 20 6e 6f 45 | 72 72 29 0d 09 09 09 09 |t == noE|rr).....| |00004930| 7b 0d 09 09 09 09 09 43 | 6f 70 79 44 69 72 52 63 |{......C|opyDirRc| |00004940| 64 54 6f 42 75 66 66 65 | 72 28 26 64 69 72 52 63 |dToBuffe|r(&dirRc| |00004950| 64 2c 20 62 29 3b 0d 09 | 09 09 09 09 62 20 2b 3d |d, b);..|....b +=| |00004960| 20 64 69 72 52 63 64 2e | 6c 65 6e 5f 64 72 3b 0d | dirRcd.|len_dr;.| |00004970| 09 09 09 09 09 73 74 61 | 72 74 20 3d 20 52 4f 55 |.....sta|rt = ROU| |00004980| 4e 44 5f 55 50 28 73 74 | 61 72 74 2b 64 61 74 61 |ND_UP(st|art+data| |00004990| 4c 65 6e 67 74 68 29 3b | 0d 09 09 09 09 7d 0d 09 |Length);|.....}..| |000049a0| 09 09 09 65 6c 73 65 0d | 09 09 09 09 09 45 72 72 |...else.|.....Err| |000049b0| 6f 72 4d 73 67 28 22 46 | 61 69 6c 65 64 20 74 6f |orMsg("F|ailed to| |000049c0| 20 63 6f 70 79 20 64 61 | 74 61 20 66 6f 72 6b 2e | copy da|ta fork.| |000049d0| 22 29 3b 0d 09 09 0d 09 | 09 09 09 43 6c 65 61 72 |");.....|...Clear| |000049e0| 4f 75 74 28 28 50 74 72 | 29 6e 61 6d 65 2c 20 32 |Out((Ptr|)name, 2| |000049f0| 35 35 29 3b 0d 09 09 09 | 7d 0d 09 09 7d 0d 09 7d |55);....|}...}..}| |00004a00| 0d 0d 09 72 65 73 75 6c | 74 20 3d 20 69 73 6f 57 |...resul|t = isoW| |00004a10| 72 69 74 65 28 72 65 66 | 65 72 65 6e 63 65 4e 75 |rite(ref|erenceNu| |00004a20| 6d 62 65 72 2c 20 28 50 | 74 72 29 62 75 66 66 65 |mber, (P|tr)buffe| |00004a30| 72 2c 20 28 6c 6f 6e 67 | 29 73 69 7a 65 6f 66 28 |r, (long|)sizeof(| |00004a40| 62 75 66 66 65 72 29 2c | 20 28 6c 6f 6e 67 29 20 |buffer),| (long) | |00004a50| 28 44 49 52 45 43 54 4f | 52 59 2a 43 44 42 4c 4b |(DIRECTO|RY*CDBLK| |00004a60| 53 49 5a 45 29 29 3b 0d | 09 69 66 20 28 72 65 73 |SIZE));.|.if (res| |00004a70| 75 6c 74 20 21 3d 20 6e | 6f 45 72 72 29 0d 09 09 |ult != n|oErr)...| |00004a80| 45 72 72 6f 72 4d 73 67 | 28 22 43 72 65 61 74 65 |ErrorMsg|("Create| |00004a90| 44 61 74 61 46 69 6c 65 | 73 3a 20 69 73 6f 57 72 |DataFile|s: isoWr| |00004aa0| 69 74 65 20 6f 66 20 64 | 69 72 65 63 74 6f 72 79 |ite of d|irectory| |00004ab0| 20 72 65 63 6f 72 64 73 | 20 72 65 74 75 72 6e 65 | records| returne| |00004ac0| 64 20 25 64 22 2c 20 72 | 65 73 75 6c 74 29 3b 0d |d %d", r|esult);.| |00004ad0| 09 44 69 73 70 6f 73 50 | 74 72 28 6e 61 6d 65 29 |.DisposP|tr(name)| |00004ae0| 3b 0d 7d 0d 0d 00 00 00 | 00 00 00 00 00 00 00 00 |;.}.....|........| |00004af0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004b00| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........| |00004b10| 54 68 69 73 20 72 65 73 | 6f 75 72 63 65 20 66 6f |This res|ource fo| |00004b20| 72 6b 20 69 6e 74 65 6e | 74 69 6f 6e 61 6c 6c 79 |rk inten|tionally| |00004b30| 20 6c 65 66 74 20 62 6c | 61 6e 6b 20 20 20 00 00 | left bl|ank ..| |00004b40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004b50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004b60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004b70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004b80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004b90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004ba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004bb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004c00| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........| |00004c10| 00 00 00 00 00 00 00 00 | 00 1c 00 1e ff ff 00 00 |........|........| |00004c20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004c30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004c40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004c50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004c60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00004c70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+